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,15 +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/bricks/brick'
|
|
8
|
-
require 'gooddata/bricks/bricks'
|
|
9
|
-
require 'gooddata/bricks/middleware/restforce_middleware'
|
|
10
|
-
|
|
11
|
-
describe GoodData::Bricks::RestForceMiddleware do
|
|
12
|
-
it "Has GoodData::Bricks::RestForceMiddleware class" do
|
|
13
|
-
GoodData::Bricks::RestForceMiddleware.should_not be(nil)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +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/bricks/brick'
|
|
8
|
-
require 'gooddata/bricks/bricks'
|
|
9
|
-
require 'gooddata/bricks/middleware/stdout_middleware'
|
|
10
|
-
|
|
11
|
-
describe GoodData::Bricks::STDOUTLoggingMiddleware do
|
|
12
|
-
it "Has GoodData::Bricks::STDOUTLoggingMiddleware class" do
|
|
13
|
-
GoodData::Bricks::STDOUTLoggingMiddleware.should_not be(nil)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +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/bricks/brick'
|
|
8
|
-
require 'gooddata/bricks/bricks'
|
|
9
|
-
require 'gooddata/bricks/middleware/twitter_middleware'
|
|
10
|
-
|
|
11
|
-
describe GoodData::Bricks::TwitterMiddleware do
|
|
12
|
-
it "Has GoodData::Bricks::TwitterMiddleware class" do
|
|
13
|
-
GoodData::Bricks::TwitterMiddleware.should_not be(nil)
|
|
14
|
-
end
|
|
15
|
-
end
|
data/spec/unit/cli/cli_spec.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
|
-
require 'gooddata/cli/cli'
|
|
8
|
-
|
|
9
|
-
describe GoodData::CLI do
|
|
10
|
-
it 'Has GoodData::CLI class' do
|
|
11
|
-
expect(GoodData::CLI).not_to be_nil
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it 'Has GoodData::CLI::main() working' do
|
|
15
|
-
run_cli
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -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
|
-
require 'gooddata/cli/cli'
|
|
8
|
-
|
|
9
|
-
describe 'GoodData::CLI - auth', :broken => true do
|
|
10
|
-
describe 'auth' do
|
|
11
|
-
it 'Can be called without arguments' do
|
|
12
|
-
args = %w(auth)
|
|
13
|
-
|
|
14
|
-
run_cli(args)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,13 +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/core/core'
|
|
8
|
-
|
|
9
|
-
describe GoodData::NilLogger do
|
|
10
|
-
it "Has GoodData::NilLogger class" do
|
|
11
|
-
GoodData::NilLogger.should_not be(nil)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,22 +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
|
-
describe Hash do
|
|
8
|
-
describe '#deep_dup' do
|
|
9
|
-
it 'should crete a deep copy' do
|
|
10
|
-
x = {
|
|
11
|
-
:a => {
|
|
12
|
-
:b => :c
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
y = x.dup
|
|
16
|
-
deep_y = GoodData::Helpers.deep_dup(x)
|
|
17
|
-
|
|
18
|
-
expect(y[:a].object_id).to be == x[:a].object_id
|
|
19
|
-
expect(deep_y[:a].object_id).not_to be == x[:a].object_id
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
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
|
-
require 'gooddata'
|
|
8
|
-
|
|
9
|
-
describe GoodData::SmallGoodZilla do
|
|
10
|
-
MAQL_EXAMPLE = 'SELECT SUM(#"Amount") WHERE @"Date"=#"X" AND ?"Snapshot EOP"=1'
|
|
11
|
-
FACTS = {
|
|
12
|
-
"Amount" => "a",
|
|
13
|
-
"X" => "x"
|
|
14
|
-
}
|
|
15
|
-
ATTRIBUTES = {
|
|
16
|
-
"Date" => "d"
|
|
17
|
-
}
|
|
18
|
-
METRICS = {
|
|
19
|
-
"Snapshot EOP" => "snap"
|
|
20
|
-
}
|
|
21
|
-
DICT = {
|
|
22
|
-
:facts => FACTS,
|
|
23
|
-
:attributes => ATTRIBUTES,
|
|
24
|
-
:metrics => METRICS
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
it "should parse metrics out of the string" do
|
|
28
|
-
expect(GoodData::SmallGoodZilla.get_facts(MAQL_EXAMPLE)).to eq %w(Amount X)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "should parse attributes out of the string" do
|
|
32
|
-
expect(GoodData::SmallGoodZilla.get_attributes(MAQL_EXAMPLE)).to eq %w(Date)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
it "should parse metrics out of the string" do
|
|
36
|
-
expect(GoodData::SmallGoodZilla.get_metrics(MAQL_EXAMPLE)).to eq ["Snapshot EOP"]
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it "should interpolate the values" do
|
|
40
|
-
interpolated = GoodData::SmallGoodZilla.interpolate(
|
|
41
|
-
{
|
|
42
|
-
:facts => %w(Amount X),
|
|
43
|
-
:attributes => ["Date"],
|
|
44
|
-
:metrics => ["Snapshot EOP"]
|
|
45
|
-
},
|
|
46
|
-
DICT
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
expect(interpolated).to eq(
|
|
50
|
-
:facts => [%w(Amount a), %w(X x)],
|
|
51
|
-
:attributes => [%w(Date d)],
|
|
52
|
-
:metrics => [["Snapshot EOP", "snap"]]
|
|
53
|
-
)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
it "should return interpolated metric" do
|
|
57
|
-
expect(GoodData::SmallGoodZilla.interpolate_metric(MAQL_EXAMPLE, DICT)).to eq "SELECT SUM([a]) WHERE [d]=[x] AND [snap]=1"
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it "should be able to parse several ids correctly." do
|
|
61
|
-
metric = "SELECT SUM(
|
|
62
|
-
CASE
|
|
63
|
-
WHEN ![attr.customer_profiles.profile_id] = [/gdc/md/pxa3aic06undadkc5s7t5lxpne11vgyt/obj/257/elements?id=65] THEN ![fact.perfomance_by_campaign_id.general_score_1]
|
|
64
|
-
WHEN ![attr.customer_profiles.profile_id] = [/gdc/md/pxa3aic06undadkc5s7t5lxpne11vgyt/obj/257/elements?id=50] THEN ![fact.perfomance_by_campaign_id.general_score_5]
|
|
65
|
-
WHEN ![attr.customer_profiles.profile_id] = [/gdc/md/pxa3aic06undadkc5s7t5lxpne11vgyt/obj/257/elements?id=20] THEN ![fact.perfomance_by_campaign_id.general_score_12]
|
|
66
|
-
END)"
|
|
67
|
-
expect(GoodData::SmallGoodZilla.get_ids(metric)).to eq [
|
|
68
|
-
"attr.customer_profiles.profile_id",
|
|
69
|
-
"fact.perfomance_by_campaign_id.general_score_1",
|
|
70
|
-
"fact.perfomance_by_campaign_id.general_score_5",
|
|
71
|
-
"fact.perfomance_by_campaign_id.general_score_12"
|
|
72
|
-
]
|
|
73
|
-
end
|
|
74
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
require 'gooddata/lcm/actions/base_action'
|
|
2
|
-
require 'gooddata/lcm/helpers/check_helper'
|
|
3
|
-
require 'gooddata/lcm/types/types'
|
|
4
|
-
|
|
5
|
-
describe 'GoodData::LCM2::Helpers::Check' do
|
|
6
|
-
let(:params) do
|
|
7
|
-
params = { test_param_three: 'Testing param three' }
|
|
8
|
-
GoodData::LCM2.convert_to_smart_hash(params)
|
|
9
|
-
end
|
|
10
|
-
let(:spec) do
|
|
11
|
-
GoodData::LCM2::BaseAction.define_params(self) do
|
|
12
|
-
description 'Testing param two'
|
|
13
|
-
param :test_param_two, instance_of(GoodData::LCM2::Type::StringType), required: true
|
|
14
|
-
|
|
15
|
-
description 'Testing param four'
|
|
16
|
-
param :test_param_three, instance_of(GoodData::LCM2::Type::IntegerType), required: false
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
context 'when running outside the tests' do
|
|
20
|
-
let(:mocked_logger) { double(Logger) }
|
|
21
|
-
before do
|
|
22
|
-
expect(GoodData).to receive(:logger).and_return(mocked_logger)
|
|
23
|
-
expect(ENV).to receive(:[]).with('RSPEC_ENV').and_return('production')
|
|
24
|
-
expect(mocked_logger).to receive(:error)
|
|
25
|
-
end
|
|
26
|
-
it 'writes out error message but do not fail when virifying required params' do
|
|
27
|
-
expect { GoodData::LCM2::Helpers.check_params(spec, params) }.not_to raise_error(/Mandatory/)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it 'writes out error message but do not fail when checking types' do
|
|
31
|
-
expect { GoodData::LCM2::Helpers.check_params(spec, params) }.not_to raise_error(/has invalid type/)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,134 +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
|
-
require 'gooddata/lcm/actions/base_action'
|
|
7
|
-
require 'gooddata/lcm/helpers/check_helper'
|
|
8
|
-
require 'gooddata/lcm/types/types'
|
|
9
|
-
|
|
10
|
-
describe 'GoodData::LCM2::Helpers::Check' do
|
|
11
|
-
let(:params) do
|
|
12
|
-
params = {
|
|
13
|
-
test_param_two: 'Testing param two',
|
|
14
|
-
test_param_three: 'Testing param three',
|
|
15
|
-
test_param_four: 4,
|
|
16
|
-
UPPER_case_param: 'qux'
|
|
17
|
-
}
|
|
18
|
-
GoodData::LCM2.convert_to_smart_hash(params)
|
|
19
|
-
end
|
|
20
|
-
let(:spec) do
|
|
21
|
-
GoodData::LCM2::BaseAction.define_params(self) do
|
|
22
|
-
description 'Testing param one'
|
|
23
|
-
param :test_param_one, instance_of(GoodData::LCM2::Type::StringType), required: true
|
|
24
|
-
|
|
25
|
-
description 'Param four'
|
|
26
|
-
param :test_param_four, instance_of(GoodData::LCM2::Type::StringType), required: false
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
it 'verifies required' do
|
|
30
|
-
expect { GoodData::LCM2::Helpers.check_params(spec, params) }.to raise_error(/Mandatory/)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'fills default' do
|
|
34
|
-
PARAMS_2 = GoodData::LCM2::BaseAction.define_params(self) do
|
|
35
|
-
description 'Testing param one'
|
|
36
|
-
param :test_param_one, instance_of(GoodData::LCM2::Type::StringType), required: true, default: 'filled_default_value'
|
|
37
|
-
|
|
38
|
-
description 'Testing param two'
|
|
39
|
-
param :test_param_two, instance_of(GoodData::LCM2::Type::StringType), required: false
|
|
40
|
-
end
|
|
41
|
-
GoodData::LCM2::Helpers.check_params(PARAMS_2, params)
|
|
42
|
-
expect(params[:test_param_one]).to match(/filled_default_value/)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it 'checks types' do
|
|
46
|
-
params['test_param_one'] = 'test_param_one'
|
|
47
|
-
expect { GoodData::LCM2::Helpers.check_params(spec, params) }.to raise_error(/has invalid type/)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
it 'fails when unspecified variable is acessed' do
|
|
51
|
-
params.setup_filters(spec)
|
|
52
|
-
expect { params[:test_param_three] }.to raise_error(/not defined in the specification/)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
context 'when created from stringified hash' do
|
|
56
|
-
subject { GoodData::LCM2::Helpers.check_params(spec, params) }
|
|
57
|
-
let(:params) do
|
|
58
|
-
raw_params = { 'update_preference' => { 'keep_data' => false,
|
|
59
|
-
'allow_cascade_drops' => true } }
|
|
60
|
-
GoodData::LCM2.convert_to_smart_hash(raw_params)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
let(:spec) do
|
|
64
|
-
GoodData::LCM2::BaseAction.define_params(self) do
|
|
65
|
-
description 'Some param'
|
|
66
|
-
param :update_preference, instance_of(GoodData::LCM2::Type::UpdatePreferenceType), required: false
|
|
67
|
-
|
|
68
|
-
description 'Replacement param'
|
|
69
|
-
param :replacement_param, instance_of(GoodData::LCM2::Type::GdClientType), required: false
|
|
70
|
-
|
|
71
|
-
description 'Deprecated param'
|
|
72
|
-
param :deprecated_param, instance_of(GoodData::LCM2::Type::StringType), required: false, deprecated: true, replacement: :replacement_param
|
|
73
|
-
|
|
74
|
-
description 'List of production tag Names'
|
|
75
|
-
param :production_tags, array_of(instance_of(GoodData::LCM2::Type::StringType)), required: false
|
|
76
|
-
|
|
77
|
-
description 'Production Tag Names'
|
|
78
|
-
param :production_tag, instance_of(GoodData::LCM2::Type::StringType), required: false, deprecated: true, replacement: :production_tags
|
|
79
|
-
|
|
80
|
-
description 'Default testing param'
|
|
81
|
-
param :default_test, array_of(instance_of(GoodData::LCM2::Type::StringType)), required: false, default: 'default value'
|
|
82
|
-
|
|
83
|
-
description 'Deprecated testing param'
|
|
84
|
-
param :deprecated_test, instance_of(GoodData::LCM2::Type::StringType), required: false, deprecated: true, replacement: :default_test
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'works with default values' do
|
|
89
|
-
subject
|
|
90
|
-
expect(params[:update_preference][:keep_data]).to be(false)
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
context 'when deprecated params together with default values are supplied' do
|
|
94
|
-
let(:params) do
|
|
95
|
-
raw_params = {
|
|
96
|
-
'deprecated_param' => 'franta',
|
|
97
|
-
'production_tag' => 'pepa',
|
|
98
|
-
'update_preference' => {
|
|
99
|
-
'cascade_drops' => true,
|
|
100
|
-
'keep_data' => false
|
|
101
|
-
},
|
|
102
|
-
'deprecated_test' => 'jednicka'
|
|
103
|
-
}
|
|
104
|
-
GoodData::LCM2.convert_to_smart_hash(raw_params)
|
|
105
|
-
end
|
|
106
|
-
it 'works with default values on deprecated params' do
|
|
107
|
-
subject
|
|
108
|
-
expect(params[:update_preference][:keep_data]).to be(false)
|
|
109
|
-
expect(params[:update_preference][:cascade_drops]).to be(true)
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
it 'does not fill default values on replacement params if deprecated one has value' do
|
|
113
|
-
subject
|
|
114
|
-
expect(params[:default_test]).to be(nil)
|
|
115
|
-
expect(params[:deprecated_test]).to eq('jednicka')
|
|
116
|
-
end
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
context 'when key contains upper-case letters' do
|
|
121
|
-
let(:spec) do
|
|
122
|
-
GoodData::LCM2::BaseAction.define_params(self) do
|
|
123
|
-
description 'Testing param'
|
|
124
|
-
param :upper_case_param, instance_of(GoodData::LCM2::Type::StringType)
|
|
125
|
-
end
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
before { params.setup_filters(spec) }
|
|
129
|
-
|
|
130
|
-
it 'fetching works with both lower case and original case' do
|
|
131
|
-
['upper_case_param', :upper_case_param, 'UPPER_case_param', :UPPER_case_param].map { |e| expect(params[e]).to eq('qux') }
|
|
132
|
-
end
|
|
133
|
-
end
|
|
134
|
-
end
|
|
@@ -1,22 +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/helpers/csv_helper'
|
|
8
|
-
|
|
9
|
-
describe GoodData::Helpers::Csv do
|
|
10
|
-
describe '#read' do
|
|
11
|
-
it 'Reads data from CSV file' do
|
|
12
|
-
GoodData::Helpers::Csv.read(:path => CsvHelper::CSV_PATH_IMPORT)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe '#write' do
|
|
17
|
-
it 'Writes data to CSV' do
|
|
18
|
-
data = []
|
|
19
|
-
GoodData::Helpers::Csv.write(:path => CsvHelper::CSV_PATH_EXPORT, :data => data)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
@@ -1,67 +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/helpers/data_helper'
|
|
8
|
-
|
|
9
|
-
describe GoodData::Helpers::DataSource do
|
|
10
|
-
let(:file_size) { 666 }
|
|
11
|
-
|
|
12
|
-
before :each do
|
|
13
|
-
@s3_client = double('s3_client')
|
|
14
|
-
@bucket = double('bucket')
|
|
15
|
-
@objects = double('objects')
|
|
16
|
-
|
|
17
|
-
allow(@s3_client).to receive(:bucket) { @bucket }
|
|
18
|
-
allow(@bucket).to receive(:object) { @objects }
|
|
19
|
-
allow(@objects).to receive(:get) { StringIO.new('aaa') }
|
|
20
|
-
allow(@objects).to receive(:size) { file_size }
|
|
21
|
-
allow(File).to receive(:size) { file_size }
|
|
22
|
-
|
|
23
|
-
@ds = GoodData::Helpers::DataSource.new(type: :s3, bucket: 'some_bucket', key: 'some_key')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it 'should be able to handle AWS' do
|
|
27
|
-
expect(@ds.realized?).to be_falsey
|
|
28
|
-
params = { 'aws_client' => { 's3_client' => @s3_client } }
|
|
29
|
-
expect(@ds.realize(params)).to eq '2bdc6c8a02b2bd1d7997cf17f0848ecfcbceba25ca184e2676f19c054db7139b'
|
|
30
|
-
expect(@ds.realized?).to be_truthy
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'should gracefully handle missing aws client' do
|
|
34
|
-
expect do
|
|
35
|
-
@ds.realize('aws_client' => nil)
|
|
36
|
-
end.to raise_exception "AWS client not present. Perhaps S3Middleware is missing in the brick definition?"
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it 'should gracefully handle missing data source params - bucket' do
|
|
40
|
-
ds = GoodData::Helpers::DataSource.new(type: :s3, key: 'some_key')
|
|
41
|
-
params = { 'aws_client' => { 's3_client' => @s3_client } }
|
|
42
|
-
expect do
|
|
43
|
-
ds.realize(params)
|
|
44
|
-
end.to raise_exception 'Key "bucket" is missing in S3 datasource'
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it 'should gracefully handle missing data source params - key' do
|
|
48
|
-
ds = GoodData::Helpers::DataSource.new(type: :s3, bucket: 'some_bucket')
|
|
49
|
-
params = { 'aws_client' => { 's3_client' => @s3_client } }
|
|
50
|
-
expect do
|
|
51
|
-
ds.realize(params)
|
|
52
|
-
end.to raise_exception 'Key "key" is missing in S3 datasource'
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
context 'when size of the downloaded file is not right' do
|
|
56
|
-
before do
|
|
57
|
-
allow(File).to receive(:size) { 0 }
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it 'raises an error' do
|
|
61
|
-
params = { 'aws_client' => { 's3_client' => @s3_client } }
|
|
62
|
-
expect do
|
|
63
|
-
@ds.realize(params)
|
|
64
|
-
end.to raise_exception(/Expected size 666, got 0/)
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|