gooddata 1.1.0-java → 1.2.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.document +0 -0
- data/.flayignore +2 -0
- data/.travis.yml +24 -7
- data/.yardopts +0 -0
- data/CHANGELOG.md +144 -0
- data/CLI.md +0 -0
- data/Dockerfile.jruby +7 -2
- data/Dockerfile.ruby +1 -1
- data/Gemfile +0 -0
- data/Guardfile +0 -0
- data/Rakefile +23 -9
- data/TODO.md +0 -0
- data/bin/gitflow-init.sh +8 -0
- data/ci.rake +3 -3
- data/data/2008.crt +39 -0
- data/data/new_ca.cer +22 -0
- data/dependency_decisions.yml +0 -0
- data/docker-compose.lcm.yml +31 -0
- data/docker-compose.yml +4 -2
- data/gooddata.gemspec +3 -3
- data/lcm.rake +288 -0
- data/lib/gooddata.rb +1 -0
- data/lib/gooddata/bricks/base_downloader.rb +1 -1
- data/lib/gooddata/bricks/brick.rb +0 -1
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +1 -1
- data/lib/gooddata/bricks/pipeline.rb +67 -0
- data/lib/gooddata/bricks/provisioning_brick.rb +18 -0
- data/lib/gooddata/bricks/release_brick.rb +18 -0
- data/lib/gooddata/bricks/rollout_brick.rb +14 -0
- data/lib/gooddata/bricks/user_filters_brick.rb +13 -0
- data/lib/gooddata/bricks/users_brick.rb +13 -0
- data/lib/gooddata/core/logging.rb +1 -1
- data/lib/gooddata/exceptions/maql_execution.rb +1 -1
- data/lib/gooddata/extensions/string.rb +0 -0
- data/lib/gooddata/lcm/actions/associate_clients.rb +34 -8
- data/lib/gooddata/lcm/actions/collect_data_product.rb +8 -1
- data/lib/gooddata/lcm/actions/collect_segment_clients.rb +13 -23
- data/lib/gooddata/lcm/actions/collect_segments.rb +10 -0
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +3 -1
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +61 -34
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +6 -4
- data/lib/gooddata/lcm/actions/update_release_table.rb +4 -12
- data/lib/gooddata/lcm/dsl/params_dsl.rb +0 -4
- data/lib/gooddata/lcm/dsl/type_dsl.rb +0 -4
- data/lib/gooddata/lcm/helpers/check_helper.rb +1 -1
- data/lib/gooddata/lcm/lcm2.rb +0 -2
- data/lib/gooddata/lcm/types/special/enum.rb +6 -0
- data/lib/gooddata/lcm/types/special/enum/synchronize_ldm.rb +20 -0
- data/lib/gooddata/lcm/types/special/types.rb +1 -1
- data/lib/gooddata/mixins/is_folder.rb +0 -0
- data/lib/gooddata/mixins/to_json.rb +0 -0
- data/lib/gooddata/mixins/uri_getter.rb +0 -0
- data/lib/gooddata/models/project_creator.rb +38 -30
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +1 -0
- data/lib/gooddata/rest/README.md +0 -0
- data/lib/gooddata/version.rb +1 -1
- data/lib/templates/bricks/brick.rb.erb +0 -0
- data/lib/templates/bricks/main.rb.erb +0 -0
- data/lib/templates/project/Goodfile.erb +0 -0
- data/lib/templates/project/data/commits.csv +0 -0
- data/lib/templates/project/data/devs.csv +0 -0
- data/lib/templates/project/data/repos.csv +0 -0
- data/lib/templates/project/model/model.rb.erb +0 -0
- metadata +23 -452
- data/lib/gooddata/lcm/actions/ensure_data_product.rb +0 -63
- data/spec/.rubocop.yml +0 -16
- data/spec/bricks/bricks_spec.rb +0 -110
- data/spec/bricks/default-config.json +0 -8
- data/spec/data/.gooddata +0 -4
- data/spec/data/blueprints/additional_dataset_module.json +0 -32
- data/spec/data/blueprints/attribute_sort_order_blueprint.json +0 -72
- data/spec/data/blueprints/big_blueprint_not_pruned.json +0 -2079
- data/spec/data/blueprints/invalid_blueprint.json +0 -103
- data/spec/data/blueprints/m_n_model.json +0 -104
- data/spec/data/blueprints/model_module.json +0 -25
- data/spec/data/blueprints/test_blueprint.json +0 -39
- data/spec/data/blueprints/test_project_model_spec.json +0 -106
- data/spec/data/cc/data/source/commits.csv +0 -4
- data/spec/data/cc/data/source/devs.csv +0 -4
- data/spec/data/cc/data/source/repos.csv +0 -3
- data/spec/data/cc/devel.prm +0 -0
- data/spec/data/cc/graph/graph.grf +0 -11
- data/spec/data/cc/workspace.prm +0 -19
- data/spec/data/column_based_permissions.csv +0 -7
- data/spec/data/column_based_permissions2.csv +0 -6
- data/spec/data/dynamic_schedule_params_table.csv +0 -7
- data/spec/data/gd_gse_data_blueprint.json +0 -1371
- data/spec/data/gd_gse_data_manifest.json +0 -1424
- data/spec/data/gd_gse_data_model.json +0 -1772
- data/spec/data/gooddata_version_process/gooddata_version.rb +0 -9
- data/spec/data/gooddata_version_process/gooddata_version.zip +0 -0
- data/spec/data/hello_world_process/hello_world.rb +0 -9
- data/spec/data/hello_world_process/hello_world.zip +0 -0
- data/spec/data/integration_model.json +0 -252
- data/spec/data/integration_policies.csv +0 -9134
- data/spec/data/line_based_permissions.csv +0 -3
- data/spec/data/manifests/test_blueprint.json +0 -32
- data/spec/data/manifests/test_project.json +0 -107
- data/spec/data/reports/left_attr_report.json +0 -108
- data/spec/data/reports/metric_only_one_line.json +0 -83
- data/spec/data/reports/report_1.json +0 -197
- data/spec/data/reports/top_attr_report.json +0 -108
- data/spec/data/ruby_params_process/ruby_params.rb +0 -9
- data/spec/data/ruby_process/deep_files/deep_stuff.txt +0 -1
- data/spec/data/ruby_process/process.rb +0 -8
- data/spec/data/ruby_process/stuff.txt +0 -1
- data/spec/data/superfluous_titles_view.json +0 -81
- data/spec/data/test-ci-data.csv +0 -2
- data/spec/data/user_filters.csv +0 -2
- data/spec/data/users.csv +0 -12
- data/spec/data/wire_models/attribute_sort_by_model.json +0 -73
- data/spec/data/wire_models/model_view.json +0 -1775
- data/spec/data/wire_models/nu_model.json +0 -3046
- data/spec/data/wire_models/test_blueprint.json +0 -66
- data/spec/data/wire_test_project.json +0 -150
- data/spec/data/workspace_table.csv +0 -3
- data/spec/environment/default.rb +0 -43
- data/spec/environment/development.rb +0 -32
- data/spec/environment/environment.rb +0 -38
- data/spec/environment/production.rb +0 -27
- data/spec/environment/staging.rb +0 -32
- data/spec/environment/testing.rb +0 -32
- data/spec/helpers/appstore_project_helper.rb +0 -221
- data/spec/helpers/blueprint_helper.rb +0 -27
- data/spec/helpers/cli_helper.rb +0 -38
- data/spec/helpers/connection_helper.rb +0 -43
- data/spec/helpers/constants.rb +0 -32
- data/spec/helpers/crypto_helper.rb +0 -19
- data/spec/helpers/csv_helper.rb +0 -20
- data/spec/helpers/process_helper.rb +0 -35
- data/spec/helpers/project_helper.rb +0 -74
- data/spec/helpers/schedule_helper.rb +0 -33
- data/spec/helpers/spec_helper.rb +0 -17
- data/spec/integration/ads_output_stage_spec.rb +0 -45
- data/spec/integration/blueprint_updates_spec.rb +0 -107
- data/spec/integration/blueprint_with_ca_spec.rb +0 -56
- data/spec/integration/blueprint_with_grain_spec.rb +0 -74
- data/spec/integration/channel_configuration_spec.rb +0 -67
- data/spec/integration/clients_spec.rb +0 -164
- data/spec/integration/command_datawarehouse_spec.rb +0 -45
- data/spec/integration/command_projects_spec.rb +0 -32
- data/spec/integration/commands/command_projects_spec.rb +0 -22
- data/spec/integration/connection_spec.rb +0 -37
- data/spec/integration/core/connection_spec.rb +0 -56
- data/spec/integration/core/logging_spec.rb +0 -132
- data/spec/integration/core/project_spec.rb +0 -54
- data/spec/integration/create_from_template_spec.rb +0 -29
- data/spec/integration/create_project_spec.rb +0 -27
- data/spec/integration/date_dim_switch_spec.rb +0 -154
- data/spec/integration/deprecated_load_spec.rb +0 -60
- data/spec/integration/full_process_schedule_spec.rb +0 -367
- data/spec/integration/full_project_spec.rb +0 -592
- data/spec/integration/helpers_spec.rb +0 -16
- data/spec/integration/lcm_spec.rb +0 -54
- data/spec/integration/mandatory_user_filter_spec.rb +0 -53
- data/spec/integration/mixins/id_to_uri_spec.rb +0 -56
- data/spec/integration/models/data_product_spec.rb +0 -71
- data/spec/integration/models/domain_spec.rb +0 -162
- data/spec/integration/models/invitation_spec.rb +0 -17
- data/spec/integration/models/label_spec.rb +0 -49
- data/spec/integration/models/membership_spec.rb +0 -127
- data/spec/integration/models/metadata/report_spec.rb +0 -54
- data/spec/integration/models/metric_spec.rb +0 -24
- data/spec/integration/models/params_spec.rb +0 -118
- data/spec/integration/models/process_spec.rb +0 -35
- data/spec/integration/models/profile_spec.rb +0 -210
- data/spec/integration/models/project_role_spec.rb +0 -94
- data/spec/integration/models/project_spec.rb +0 -225
- data/spec/integration/models/schedule_spec.rb +0 -477
- data/spec/integration/models/unit_project_spec.rb +0 -130
- data/spec/integration/over_to_user_filters_spec.rb +0 -98
- data/spec/integration/partial_md_export_import_spec.rb +0 -41
- data/spec/integration/project_spec.rb +0 -381
- data/spec/integration/rest_spec.rb +0 -214
- data/spec/integration/schedule_spec.rb +0 -611
- data/spec/integration/segments_spec.rb +0 -100
- data/spec/integration/subscription_spec.rb +0 -88
- data/spec/integration/urn_date_dim_spec.rb +0 -53
- data/spec/integration/user_filters_spec.rb +0 -310
- data/spec/integration/user_group_spec.rb +0 -147
- data/spec/integration/variables_spec.rb +0 -189
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/can_assign_a_custom_logger.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/client_logs_when_given_custom_message.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/has_the_request_id_logged_when_I_passed_it.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_off/Disables_logging.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_on/Enables_logging.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project/Returns_project_assigned.yml +0 -354
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_nil.yml +0 -299
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_directly.yml +0 -354
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_ID.yml +0 -354
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_URL.yml +0 -354
- data/spec/integration/vcr_cassettes/GoodData_-_project/_with_project/Uses_project_specified.yml +0 -354
- data/spec/integration/vcr_cassettes/GoodData_Metric/all.yml +0 -2065
- data/spec/integration/vcr_cassettes/GoodData_Metric/should_be_able_to_update_folders.yml +0 -119
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/all.yml +0 -9812
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_get_json_containing_correct_id.yml +0 -174
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_return_nil_for_unknown_id.yml +0 -58
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_throw_BadRequest_for_-1.yml +0 -63
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_connect/Connects_using_username_and_password.yml +0 -299
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_disconnect/Connects_using_username_and_password.yml +0 -299
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_generate_request_id/Generates_a_non-empty_string.yml +0 -2287
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_/Should_list_user_groups_as_Array.yml +0 -56
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_add_members/Should_add_member.yml +0 -315
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_members/Should_return_members_as_array.yml +0 -54
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_remove_members/Should_remove_existing_members.yml +0 -258
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_save/updates_existing_group.yml +0 -159
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_set_members/Should_set_new_members.yml +0 -158
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/all.yml +0 -809
- data/spec/logging_in_logging_out_spec.rb +0 -91
- data/spec/spec_helper.rb +0 -110
- data/spec/unit/actions/associate_clients_spec.rb +0 -48
- data/spec/unit/actions/collect_client_projects_spec.rb +0 -47
- data/spec/unit/actions/collect_clients_spec.rb +0 -65
- data/spec/unit/actions/collect_data_product_spec.rb +0 -58
- data/spec/unit/actions/collect_dynamic_schedule_params_spec.rb +0 -56
- data/spec/unit/actions/collect_meta_spec.rb +0 -88
- data/spec/unit/actions/collect_segment_clients_spec.rb +0 -82
- data/spec/unit/actions/collect_tagged_objects_spec.rb +0 -126
- data/spec/unit/actions/collect_users_brick_users_spec.rb +0 -36
- data/spec/unit/actions/create_segment_masters_spec.rb +0 -65
- data/spec/unit/actions/ensure_data_product_spec.rb +0 -39
- data/spec/unit/actions/ensure_technical_users_domain_spec.rb +0 -53
- data/spec/unit/actions/ensure_technical_users_project_spec.rb +0 -76
- data/spec/unit/actions/execute_schedules_spec.rb +0 -94
- data/spec/unit/actions/provision_clients_spec.rb +0 -46
- data/spec/unit/actions/purge_clients_spec.rb +0 -47
- data/spec/unit/actions/rename_existing_client_projects_spec.rb +0 -54
- data/spec/unit/actions/segments_filter_spec.rb +0 -46
- data/spec/unit/actions/shared_examples_for_user_actions.rb +0 -43
- data/spec/unit/actions/synchronize_cas_spec.rb +0 -58
- data/spec/unit/actions/synchronize_clients_spec.rb +0 -71
- data/spec/unit/actions/synchronize_etls_in_segment_spec.rb +0 -206
- data/spec/unit/actions/synchronize_ldm_spec.rb +0 -70
- data/spec/unit/actions/synchronize_user_filters_spec.rb +0 -208
- data/spec/unit/actions/synchronize_user_groups_spec.rb +0 -49
- data/spec/unit/actions/synchronize_users_spec.rb +0 -180
- data/spec/unit/bricks/bricks_spec.rb +0 -34
- data/spec/unit/bricks/middleware/aws_middelware_spec.rb +0 -98
- data/spec/unit/bricks/middleware/bench_middleware_spec.rb +0 -15
- data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +0 -15
- data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +0 -15
- data/spec/unit/bricks/middleware/logger_middleware_spec.rb +0 -30
- data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +0 -15
- data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +0 -15
- data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +0 -15
- data/spec/unit/cli/cli_spec.rb +0 -17
- data/spec/unit/cli/commands/cmd_auth_spec.rb +0 -17
- data/spec/unit/core/nil_logger_spec.rb +0 -13
- data/spec/unit/extensions/hash_spec.rb +0 -22
- data/spec/unit/godzilla/goodzilla_spec.rb +0 -74
- data/spec/unit/helpers/check_helper_production_spec.rb +0 -34
- data/spec/unit/helpers/check_helper_spec.rb +0 -134
- data/spec/unit/helpers/csv_helper_spec.rb +0 -22
- data/spec/unit/helpers/data_helper_spec.rb +0 -67
- data/spec/unit/helpers/global_helpers_spec.rb +0 -264
- data/spec/unit/helpers_spec.rb +0 -254
- data/spec/unit/lcm/lcm2_spec.rb +0 -100
- data/spec/unit/lcm/user_bricks_helper_spec.rb +0 -58
- data/spec/unit/models/blueprint/attribute_sort_by_spec.rb +0 -20
- data/spec/unit/models/blueprint/attributes_spec.rb +0 -28
- data/spec/unit/models/blueprint/dataset_spec.rb +0 -120
- data/spec/unit/models/blueprint/label_blueprint_field_spec.rb +0 -43
- data/spec/unit/models/blueprint/project_blueprint_spec.rb +0 -642
- data/spec/unit/models/blueprint/reference_spec.rb +0 -28
- data/spec/unit/models/blueprint/schema_builder_spec.rb +0 -36
- data/spec/unit/models/blueprint/to_wire_spec.rb +0 -196
- data/spec/unit/models/dataset_blueprint.rb +0 -14
- data/spec/unit/models/execution_spec.rb +0 -109
- data/spec/unit/models/from_wire_spec.rb +0 -321
- data/spec/unit/models/metadata_spec.rb +0 -140
- data/spec/unit/models/metric_spec.rb +0 -129
- data/spec/unit/models/model_spec.rb +0 -87
- data/spec/unit/models/project_creator_spec.rb +0 -90
- data/spec/unit/models/project_spec.rb +0 -94
- data/spec/unit/models/report_result_data_spec.rb +0 -194
- data/spec/unit/models/to_manifest_spec.rb +0 -165
- data/spec/unit/models/user_filters/user_filter_builder_spec.rb +0 -149
- data/spec/unit/models/user_filters_spec.rb +0 -95
- data/spec/unit/models/variable_spec.rb +0 -280
- data/spec/unit/rest/phmap_spec.rb +0 -117
- data/spec/unit/rest/polling_spec.rb +0 -101
- data/spec/unit/rest/resource_spec.rb +0 -10
- data/spec/vcr_configurer.rb +0 -63
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
# Global requires
|
|
8
|
-
require 'multi_json'
|
|
9
|
-
|
|
10
|
-
# Local requires
|
|
11
|
-
require 'gooddata/models/models'
|
|
12
|
-
|
|
13
|
-
module GoodData
|
|
14
|
-
module Helpers
|
|
15
|
-
module BlueprintHelper
|
|
16
|
-
def blueprint_from_file(bp)
|
|
17
|
-
# Try to load as full path
|
|
18
|
-
raw = IO.read(bp)
|
|
19
|
-
|
|
20
|
-
# TODO: Try to load as relative path if failed
|
|
21
|
-
|
|
22
|
-
parsed = MultiJson.load(raw, :symbolize_keys => true)
|
|
23
|
-
GoodData::Model::ProjectBlueprint.new(parsed)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
data/spec/helpers/cli_helper.rb
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'gooddata/cli/cli'
|
|
8
|
-
|
|
9
|
-
module GoodData
|
|
10
|
-
module Helpers
|
|
11
|
-
module CliHelper
|
|
12
|
-
# Execute block and capture its stdou
|
|
13
|
-
# @param block Block to be executed with stdout redirected
|
|
14
|
-
# @returns Captured output as string
|
|
15
|
-
def capture_stdout
|
|
16
|
-
original_stdout = $stdout
|
|
17
|
-
$stdout = fake = StringIO.new
|
|
18
|
-
begin
|
|
19
|
-
yield
|
|
20
|
-
ensure
|
|
21
|
-
$stdout = original_stdout
|
|
22
|
-
end
|
|
23
|
-
fake.string
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# Run CLI with arguments and return captured stdout
|
|
27
|
-
# @param args Arguments
|
|
28
|
-
# @return Captured stdout
|
|
29
|
-
def run_cli(args = [])
|
|
30
|
-
old = $PROGRAM_NAME
|
|
31
|
-
$0 = 'gooddata'
|
|
32
|
-
res = capture_stdout { GoodData::CLI.main(args) }
|
|
33
|
-
$0 = old
|
|
34
|
-
res
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'gooddata/connection'
|
|
8
|
-
|
|
9
|
-
require_relative '../environment/environment'
|
|
10
|
-
|
|
11
|
-
GoodData::Environment.load
|
|
12
|
-
|
|
13
|
-
module GoodData
|
|
14
|
-
module Helpers
|
|
15
|
-
module ConnectionHelper
|
|
16
|
-
include GoodData::Environment::ConnectionHelper
|
|
17
|
-
|
|
18
|
-
class << self
|
|
19
|
-
# Creates connection using default credentials or supplied one
|
|
20
|
-
#
|
|
21
|
-
# @param [String] username Optional username
|
|
22
|
-
# @param [String] password Optional password
|
|
23
|
-
def create_default_connection(username = GoodData::Environment::ConnectionHelper::DEFAULT_USERNAME, password = GoodData::Environment::ConnectionHelper::DEFAULT_PASSWORD)
|
|
24
|
-
GoodData.connect(username, password, :server => GoodData::Environment::ConnectionHelper::DEFAULT_SERVER, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def disconnect
|
|
28
|
-
conn = GoodData.connection.connection
|
|
29
|
-
GoodData.disconnect
|
|
30
|
-
puts conn.stats_table
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# Creates connection using environment varibles GD_GEM_USER and GD_GEM_PASSWORD
|
|
34
|
-
def create_private_connection
|
|
35
|
-
username = ENV['GD_GEM_USER'] || DEFAULT_USERNAME
|
|
36
|
-
password = ENV['GD_GEM_PASSWORD'] || DEFAULT_PASSWORD
|
|
37
|
-
|
|
38
|
-
GoodData.connect(username, password)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
data/spec/helpers/constants.rb
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
module GoodData
|
|
2
|
-
module Helpers
|
|
3
|
-
BLUEPRINT_FILE = './spec/integration/data/model.json'
|
|
4
|
-
METRICS_FILE = './spec/integration/data/metrics.json'
|
|
5
|
-
REPORTS_FILE = './spec/integration/data/reports.json'
|
|
6
|
-
DASHBOARDS_FILE = './spec/integration/data/dashboards.json'
|
|
7
|
-
|
|
8
|
-
DATASET_IDENTIFIER = 'dataset.csv_policies'
|
|
9
|
-
FACT_IDENTIFIER = 'fact.csv_policies.customer_lifetime_value'
|
|
10
|
-
DATA_FILE = './spec/integration/data/policies.csv'
|
|
11
|
-
|
|
12
|
-
CC_PROCESS_ARCHIVE = './spec/integration/data/cc_process.zip'
|
|
13
|
-
CC_PROCESS_NAME = 'Simple CloudConnect Process'
|
|
14
|
-
CC_SCHEDULE_CRON = '0 15 10 3 *'
|
|
15
|
-
CC_GRAPH = 'graph/test.grf'
|
|
16
|
-
CC_PARAMS = { param_1: 'a', param_2: 'b' }
|
|
17
|
-
CC_SECURE_PARAMS = { secure_param_1: 'secretive_foo', secure_param_2: 'secretive_bar' }
|
|
18
|
-
|
|
19
|
-
RUBY_HELLO_WORLD_PROCESS_PATH = '${PUBLIC_APPSTORE}:branch/master:/apps/hello_world_brick'
|
|
20
|
-
RUBY_HELLO_WORLD_PROCESS_NAME = 'Simple Ruby Process'
|
|
21
|
-
RUBY_PARAMS = { param_1: 'a', param_2: 'b' }
|
|
22
|
-
RUBY_SECURE_PARAMS = { secure_param_1: 'secretive_baz', secure_param_2: 'secretive_qux' }
|
|
23
|
-
|
|
24
|
-
PRODUCTION_TAGGED_METRIC = 'metric.total.claim.amount'
|
|
25
|
-
|
|
26
|
-
CUSTOM_CLIENT_ID_COLUMN = 'custom_client_id_column'
|
|
27
|
-
|
|
28
|
-
COMPUTED_ATTRIBUTE_ID = 'attr.comp.my_computed_attr'
|
|
29
|
-
|
|
30
|
-
USER_GROUP_NAME = 'My Test Group'
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'securerandom'
|
|
8
|
-
|
|
9
|
-
module GoodData
|
|
10
|
-
module Helpers
|
|
11
|
-
module CryptoHelper
|
|
12
|
-
class << self
|
|
13
|
-
def generate_password
|
|
14
|
-
SecureRandom.hex(16)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
data/spec/helpers/csv_helper.rb
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
# Global requires
|
|
8
|
-
require 'multi_json'
|
|
9
|
-
|
|
10
|
-
# Local requires
|
|
11
|
-
require 'gooddata/models/models'
|
|
12
|
-
|
|
13
|
-
module GoodData
|
|
14
|
-
module Helpers
|
|
15
|
-
module CsvHelper
|
|
16
|
-
CSV_PATH_EXPORT = 'out.txt'
|
|
17
|
-
CSV_PATH_IMPORT = File.join(File.dirname(__FILE__), '..', 'data', 'users.csv')
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
# Global requires
|
|
8
|
-
require 'multi_json'
|
|
9
|
-
require 'pmap'
|
|
10
|
-
|
|
11
|
-
# Local requires
|
|
12
|
-
require 'gooddata/models/models'
|
|
13
|
-
|
|
14
|
-
require_relative '../environment/environment'
|
|
15
|
-
|
|
16
|
-
GoodData::Environment.load
|
|
17
|
-
|
|
18
|
-
module GoodData
|
|
19
|
-
module Helpers
|
|
20
|
-
module ProcessHelper
|
|
21
|
-
include GoodData::Environment::ProcessHelper
|
|
22
|
-
|
|
23
|
-
class << self
|
|
24
|
-
def remove_old_processes(project)
|
|
25
|
-
processes = project.processes
|
|
26
|
-
processes.pmap do |process|
|
|
27
|
-
next if process.obj_id == GoodData::Environment::ProcessHelper::PROCESS_ID
|
|
28
|
-
puts "Deleting #{process.inspect}"
|
|
29
|
-
process.delete
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
# Global requires
|
|
8
|
-
require 'multi_json'
|
|
9
|
-
|
|
10
|
-
# Local requires
|
|
11
|
-
require 'gooddata/models/models'
|
|
12
|
-
|
|
13
|
-
require_relative '../environment/environment'
|
|
14
|
-
|
|
15
|
-
GoodData::Environment.load
|
|
16
|
-
|
|
17
|
-
module GoodData
|
|
18
|
-
module Helpers
|
|
19
|
-
module ProjectHelper
|
|
20
|
-
include GoodData::Environment::ProjectHelper
|
|
21
|
-
|
|
22
|
-
ENVIRONMENT = 'TESTING'
|
|
23
|
-
|
|
24
|
-
class << self
|
|
25
|
-
def get_default_project(opts = { :client => GoodData.connection })
|
|
26
|
-
GoodData::Project[GoodData::Helpers::ProjectHelper::PROJECT_ID, opts]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def delete_old_projects(opts = { :client => GoodData.connection })
|
|
30
|
-
projects = opts[:client].projects
|
|
31
|
-
projects.each do |project|
|
|
32
|
-
next if project.json['project']['meta']['author'] != client.user.uri
|
|
33
|
-
next if project.pid == 'we1vvh4il93r0927r809i3agif50d7iz'
|
|
34
|
-
begin
|
|
35
|
-
puts "Deleting project #{project.title}"
|
|
36
|
-
project.delete
|
|
37
|
-
rescue e
|
|
38
|
-
puts 'ERROR: ' + e.to_s
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def create_random_user(client, opts = {})
|
|
44
|
-
num = rand(1e7)
|
|
45
|
-
login = opts[:login] || "gemtest#{num}@gooddata.com"
|
|
46
|
-
|
|
47
|
-
opts = {
|
|
48
|
-
email: login,
|
|
49
|
-
login: login,
|
|
50
|
-
first_name: 'the',
|
|
51
|
-
last_name: num.to_s,
|
|
52
|
-
role: 'editor',
|
|
53
|
-
password: CryptoHelper.generate_password,
|
|
54
|
-
domain: ConnectionHelper::DEFAULT_DOMAIN
|
|
55
|
-
}
|
|
56
|
-
GoodData::Membership.create(opts, client: client)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def load_full_project_implementation(client)
|
|
60
|
-
spec = JSON.parse(File.read("./spec/data/blueprints/test_project_model_spec.json"), :symbolize_names => true)
|
|
61
|
-
blueprint = GoodData::Model::ProjectBlueprint.new(spec)
|
|
62
|
-
|
|
63
|
-
project = client.create_project_from_blueprint(
|
|
64
|
-
blueprint,
|
|
65
|
-
token: ConnectionHelper::GD_PROJECT_TOKEN,
|
|
66
|
-
environment: ProjectHelper::ENVIRONMENT
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
[project, blueprint, spec]
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'pmap'
|
|
8
|
-
|
|
9
|
-
require_relative 'process_helper'
|
|
10
|
-
|
|
11
|
-
require_relative '../environment/environment'
|
|
12
|
-
|
|
13
|
-
GoodData::Environment.load
|
|
14
|
-
|
|
15
|
-
module GoodData
|
|
16
|
-
module Helpers
|
|
17
|
-
module ScheduleHelper
|
|
18
|
-
include GoodData::Environment::ScheduleHelper
|
|
19
|
-
|
|
20
|
-
class << self
|
|
21
|
-
def remove_old_schedules(project)
|
|
22
|
-
schedules = project.schedules
|
|
23
|
-
schedules.pmap do |schedule|
|
|
24
|
-
next if schedule.obj_id == SCHEDULE_ID
|
|
25
|
-
|
|
26
|
-
puts "Deleting #{schedule.inspect}"
|
|
27
|
-
schedule.delete
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
data/spec/helpers/spec_helper.rb
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
module GoodData
|
|
8
|
-
module Helpers
|
|
9
|
-
module SpecHelper
|
|
10
|
-
class << self
|
|
11
|
-
def random_choice(possibilities, current_value)
|
|
12
|
-
(possibilities - Array(current_value)).sample
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'gooddata'
|
|
8
|
-
|
|
9
|
-
describe GoodData::AdsOutputStage, :constraint => 'slow' do
|
|
10
|
-
before(:all) do
|
|
11
|
-
@client = ConnectionHelper.create_default_connection
|
|
12
|
-
@ads = GoodData::DataWarehouse.create(client: @client, title: 'Test ADS', auth_token: ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
|
|
13
|
-
@project = @client.create_project(title: 'Test project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
after(:all) do
|
|
17
|
-
# We need to delete the output stage explicitly
|
|
18
|
-
# because of https://jira.intgdc.com/browse/DSS-2967
|
|
19
|
-
@project && @project.add && @project.add.output_stage && @project.add.output_stage.delete
|
|
20
|
-
@project && @project.delete
|
|
21
|
-
@ads && @ads.delete
|
|
22
|
-
@client && @client.disconnect
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it 'should be able to create output stage' do
|
|
26
|
-
@project.add.output_stage = GoodData::AdsOutputStage.create(client: @client, ads: @ads, client_id: 'Client_Id', project: @project)
|
|
27
|
-
expect(@project.add.output_stage.schema).to eq "#{@ads.schemas}/default"
|
|
28
|
-
expect(@project.add.output_stage.client_id).to eq 'Client_Id'
|
|
29
|
-
expect(@project.add.process).not_to be_nil
|
|
30
|
-
expect(@project.add.process.type).to eq :dataload
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'shoule be able to show the sql diff' do
|
|
34
|
-
expect(@project.add.output_stage.sql_diff).to eq '-- Output Stage and LDM column mapping matches.'
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe '#delete' do
|
|
38
|
-
it 'deletes the link to schema' do
|
|
39
|
-
output_stage = GoodData::AdsOutputStage.create(client: @client, ads: @ads, client_id: 'Client_Id', project: @project)
|
|
40
|
-
expect(output_stage.data['schema']).not_to be_empty
|
|
41
|
-
output_stage.delete
|
|
42
|
-
expect(output_stage.data['schema']).to be_nil
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
-
# This source code is licensed under the BSD-style license found in the
|
|
5
|
-
# LICENSE file in the root directory of this source tree.
|
|
6
|
-
|
|
7
|
-
require 'gooddata'
|
|
8
|
-
|
|
9
|
-
describe 'Create project using GoodData client', :constraint => 'slow' do
|
|
10
|
-
before(:all) do
|
|
11
|
-
@client = ConnectionHelper.create_default_connection
|
|
12
|
-
@blueprint = GoodData::Model::ProjectBlueprint.from_json('./spec/data/blueprints/test_project_model_spec.json')
|
|
13
|
-
@project = @client.create_project_from_blueprint(@blueprint, auth_token: ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
after(:all) do
|
|
17
|
-
@project.delete
|
|
18
|
-
@client.disconnect
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it 'Should create project using GoodData::Rest::Client#create_project' do
|
|
22
|
-
data = [
|
|
23
|
-
%w(repo_id repo_name),
|
|
24
|
-
[1, "goodot"],
|
|
25
|
-
[2, "bam"],
|
|
26
|
-
[3, "infra"]
|
|
27
|
-
]
|
|
28
|
-
@project.upload(data, @blueprint, 'dataset.repos')
|
|
29
|
-
|
|
30
|
-
data = [
|
|
31
|
-
%w(dev_id email),
|
|
32
|
-
['1', 'tomas@gmail.com'],
|
|
33
|
-
['2', 'petr@gmail.com'],
|
|
34
|
-
['3', 'jirka@gmail.com']
|
|
35
|
-
]
|
|
36
|
-
@project.upload(data, @blueprint, 'dataset.devs')
|
|
37
|
-
|
|
38
|
-
data = [
|
|
39
|
-
%w(lines_changed committed_on dev_id repo_id),
|
|
40
|
-
[1, '01/01/2011', '1', '1'],
|
|
41
|
-
[2, '01/01/2011', '2', '2'],
|
|
42
|
-
[3, '01/01/2011', '3', '3']
|
|
43
|
-
]
|
|
44
|
-
@project.upload(data, @blueprint, 'dataset.commits')
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it "should be able to add anchor's labels" do
|
|
48
|
-
bp = @project.blueprint
|
|
49
|
-
bp.datasets('dataset.commits').change do |d|
|
|
50
|
-
d.add_label(
|
|
51
|
-
'label.commits.factsof.id',
|
|
52
|
-
reference: 'attr.commits.factsof',
|
|
53
|
-
name: 'anchor_label'
|
|
54
|
-
)
|
|
55
|
-
end
|
|
56
|
-
@project.update_from_blueprint(bp, maql_replacements: { "PRESERVE DATA" => "" })
|
|
57
|
-
data = [
|
|
58
|
-
['label.commits.factsof.id', 'fact.commits.lines_changed', 'committed_on', 'dataset.devs', 'dataset.repos'],
|
|
59
|
-
['111', 1, '01/01/2011', '1', '1'],
|
|
60
|
-
['222', 2, '01/01/2011', '2', '2'],
|
|
61
|
-
['333', 3, '01/01/2011', '3', '3']
|
|
62
|
-
]
|
|
63
|
-
@project.upload(data, bp, 'dataset.commits')
|
|
64
|
-
m = @project.facts.first.create_metric
|
|
65
|
-
@project.compute_report(top: [m], left: ['label.commits.factsof.id'])
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it "be able to remove anchor's labels" do
|
|
69
|
-
bp = @project.blueprint
|
|
70
|
-
bp.datasets('dataset.commits').anchor.strip!
|
|
71
|
-
@project.update_from_blueprint(bp)
|
|
72
|
-
bp = @project.blueprint
|
|
73
|
-
expect(bp.datasets('dataset.commits').anchor.labels.count).to eq 0
|
|
74
|
-
expect(@project.labels('label.commits.factsof.id')).to eq nil
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
it "is possible to move attribute. Let's make a fast attribute." do
|
|
78
|
-
# define stuff
|
|
79
|
-
m = @project.facts.first.create_metric.save
|
|
80
|
-
report = @project.create_report(title: 'Test report', top: [m], left: ['label.devs.dev_id.email'])
|
|
81
|
-
# both compute
|
|
82
|
-
expect(m.execute).to eq 6
|
|
83
|
-
expect(report.execute.without_top_headers.to_a).to eq [['jirka@gmail.com', 3],
|
|
84
|
-
['petr@gmail.com', 2],
|
|
85
|
-
['tomas@gmail.com', 1]]
|
|
86
|
-
|
|
87
|
-
# We move attribute
|
|
88
|
-
@blueprint.move!('some_attr_id', 'dataset.repos', 'dataset.commits')
|
|
89
|
-
@project.update_from_blueprint(@blueprint)
|
|
90
|
-
|
|
91
|
-
# load new data
|
|
92
|
-
data = [
|
|
93
|
-
%w(lines_changed committed_on dev_id repo_id repo_name),
|
|
94
|
-
[1, '01/01/2011', '1', '1', 'goodot'],
|
|
95
|
-
[2, '01/01/2011', '2', '2', 'goodot'],
|
|
96
|
-
[3, '01/01/2011', '3', '3', 'infra']
|
|
97
|
-
]
|
|
98
|
-
@project.upload(data, @blueprint, 'dataset.commits')
|
|
99
|
-
|
|
100
|
-
# both still compute
|
|
101
|
-
# since we did not change the grain the results are the same
|
|
102
|
-
expect(m.execute).to eq 6
|
|
103
|
-
expect(report.execute.without_top_headers.to_a).to eq [["jirka@gmail.com", 3],
|
|
104
|
-
["petr@gmail.com", 2],
|
|
105
|
-
["tomas@gmail.com", 1]]
|
|
106
|
-
end
|
|
107
|
-
end
|