gooddata 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/CHANGELOG.md +20 -0
- data/CONTRIBUTING.md +12 -0
- data/README.md +5 -2
- data/Rakefile +0 -1
- data/dev-gooddata-sso.pub.encrypted +40 -0
- data/gooddata.gemspec +3 -3
- data/lib/gooddata/connection.rb +23 -13
- data/lib/gooddata/helpers/data_helper.rb +0 -1
- data/lib/gooddata/lcm/actions/apply_custom_maql.rb +8 -1
- data/lib/gooddata/lcm/actions/associate_clients.rb +8 -1
- data/lib/gooddata/lcm/actions/base_action.rb +10 -0
- data/lib/gooddata/lcm/actions/collect_ca_metrics.rb +7 -1
- data/lib/gooddata/lcm/actions/collect_client_projects.rb +3 -0
- data/lib/gooddata/lcm/actions/collect_clients.rb +3 -1
- data/lib/gooddata/lcm/actions/collect_data_product.rb +10 -2
- data/lib/gooddata/lcm/actions/collect_dynamic_schedule_params.rb +12 -1
- data/lib/gooddata/lcm/actions/collect_ldm_objects.rb +6 -2
- data/lib/gooddata/lcm/actions/collect_meta.rb +1 -1
- data/lib/gooddata/lcm/actions/collect_segment_clients.rb +8 -1
- data/lib/gooddata/lcm/actions/collect_segments.rb +6 -5
- data/lib/gooddata/lcm/actions/collect_tagged_objects.rb +1 -1
- data/lib/gooddata/lcm/actions/collect_users_brick_users.rb +10 -4
- data/lib/gooddata/lcm/actions/create_segment_masters.rb +12 -2
- data/lib/gooddata/lcm/actions/ensure_data_product.rb +10 -0
- data/lib/gooddata/lcm/actions/ensure_technical_users_domain.rb +5 -1
- data/lib/gooddata/lcm/actions/ensure_technical_users_project.rb +3 -0
- data/lib/gooddata/lcm/actions/execute_schedules.rb +10 -0
- data/lib/gooddata/lcm/actions/import_object_collections.rb +1 -1
- data/lib/gooddata/lcm/actions/provision_clients.rb +12 -2
- data/lib/gooddata/lcm/actions/purge_clients.rb +2 -0
- data/lib/gooddata/lcm/actions/rename_existing_client_projects.rb +3 -0
- data/lib/gooddata/lcm/actions/synchronize_attribute_drillpaths.rb +4 -1
- data/lib/gooddata/lcm/actions/synchronize_cas.rb +7 -1
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +11 -1
- data/lib/gooddata/lcm/actions/synchronize_color_palette.rb +7 -1
- data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +12 -7
- data/lib/gooddata/lcm/actions/synchronize_label_types.rb +4 -1
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +18 -7
- data/lib/gooddata/lcm/actions/synchronize_meta.rb +9 -0
- data/lib/gooddata/lcm/actions/synchronize_new_segments.rb +11 -1
- data/lib/gooddata/lcm/actions/synchronize_processes.rb +7 -1
- data/lib/gooddata/lcm/actions/synchronize_schedules.rb +4 -1
- data/lib/gooddata/lcm/actions/synchronize_tag_objects.rb +6 -0
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +60 -15
- data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +7 -1
- data/lib/gooddata/lcm/actions/synchronize_users.rb +106 -3
- data/lib/gooddata/lcm/actions/update_release_table.rb +19 -0
- data/lib/gooddata/lcm/helpers/check_helper.rb +21 -6
- data/lib/gooddata/lcm/lcm2.rb +35 -22
- data/lib/gooddata/lcm/types/class/gd_logger.rb +23 -0
- data/lib/gooddata/lcm/types/class/gd_product.rb +23 -0
- data/lib/gooddata/lcm/types/class/gd_project.rb +23 -0
- data/lib/gooddata/lcm/types/class/smart_hash.rb +23 -0
- data/lib/gooddata/lcm/types/complex/segment.rb +1 -1
- data/lib/gooddata/lcm/types/scalar/integer.rb +2 -2
- data/lib/gooddata/lcm/types/special/any.rb +18 -0
- data/lib/gooddata/models/blueprint/dataset_blueprint.rb +1 -1
- data/lib/gooddata/models/blueprint/to_manifest.rb +1 -3
- data/lib/gooddata/models/blueprint/to_wire.rb +2 -1
- data/lib/gooddata/models/from_wire.rb +13 -1
- data/lib/gooddata/models/metadata/folder.rb +22 -0
- data/lib/gooddata/models/metadata/metric.rb +5 -8
- data/lib/gooddata/models/model.rb +1 -1
- data/lib/gooddata/models/process.rb +42 -32
- data/lib/gooddata/models/project.rb +19 -36
- data/lib/gooddata/models/project_creator.rb +3 -1
- data/lib/gooddata/models/project_role.rb +3 -4
- data/lib/gooddata/models/schedule.rb +0 -2
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +9 -1
- data/lib/gooddata/models/user_filters/user_filter.rb +1 -2
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +18 -6
- data/lib/gooddata/rest/client.rb +1 -2
- data/lib/gooddata/rest/connection.rb +12 -46
- data/lib/gooddata/rest/phmap.rb +101 -56
- data/lib/gooddata/version.rb +1 -1
- data/rubydev_public.gpg.encrypted +51 -0
- data/rubydev_secret_keys.gpg.encrypted +109 -0
- data/spec/data/user_filters.csv +2 -0
- data/spec/environment/default.rb +2 -2
- data/spec/environment/development.rb +1 -1
- data/spec/environment/staging.rb +2 -3
- data/spec/environment/testing.rb +4 -4
- data/spec/integration/connection_spec.rb +37 -0
- data/spec/integration/core/connection_spec.rb +1 -1
- data/spec/integration/core/logging_spec.rb +8 -6
- data/spec/integration/core/project_spec.rb +1 -1
- data/spec/integration/mandatory_user_filter_spec.rb +53 -0
- data/spec/integration/mixins/id_to_uri_spec.rb +17 -5
- data/spec/integration/models/label_spec.rb +9 -0
- data/spec/integration/models/metric_spec.rb +24 -0
- data/spec/integration/models/process_spec.rb +35 -0
- data/spec/integration/models/project_role_spec.rb +1 -1
- data/spec/integration/models/schedule_spec.rb +0 -8
- data/spec/integration/schedule_spec.rb +4 -6
- data/spec/integration/user_filters_spec.rb +20 -16
- data/spec/integration/user_group_spec.rb +1 -1
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/can_assign_a_custom_logger.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/client_logs_when_given_custom_message.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/has_the_request_id_logged_when_I_passed_it.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_off/Disables_logging.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_on/Enables_logging.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project/Returns_project_assigned.yml +354 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_nil.yml +299 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_directly.yml +354 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_ID.yml +354 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_URL.yml +354 -0
- data/spec/integration/vcr_cassettes/GoodData_-_project/_with_project/Uses_project_specified.yml +354 -0
- data/spec/integration/vcr_cassettes/GoodData_Metric/all.yml +2065 -0
- data/spec/integration/vcr_cassettes/GoodData_Metric/should_be_able_to_update_folders.yml +119 -0
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/all.yml +9812 -0
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_get_json_containing_correct_id.yml +174 -0
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_return_nil_for_unknown_id.yml +58 -0
- data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_throw_BadRequest_for_-1.yml +63 -0
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_connect/Connects_using_username_and_password.yml +299 -0
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_disconnect/Connects_using_username_and_password.yml +299 -0
- data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_generate_request_id/Generates_a_non-empty_string.yml +2287 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_/Should_list_user_groups_as_Array.yml +56 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_add_members/Should_add_member.yml +315 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_members/Should_return_members_as_array.yml +54 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_remove_members/Should_remove_existing_members.yml +258 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_save/updates_existing_group.yml +159 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/_set_members/Should_set_new_members.yml +158 -0
- data/spec/integration/vcr_cassettes/GoodData_UserGroup/all.yml +809 -0
- data/spec/spec_helper.rb +46 -2
- data/spec/unit/actions/associate_clients_spec.rb +2 -1
- data/spec/unit/actions/collect_data_product_spec.rb +3 -1
- data/spec/unit/actions/collect_segment_clients_spec.rb +1 -0
- data/spec/unit/actions/create_segment_masters_spec.rb +1 -0
- data/spec/unit/actions/ensure_data_product_spec.rb +1 -0
- data/spec/unit/actions/ensure_technical_users_domain_spec.rb +2 -0
- data/spec/unit/actions/ensure_technical_users_project_spec.rb +4 -0
- data/spec/unit/actions/provision_clients_spec.rb +2 -1
- data/spec/unit/actions/synchronize_etls_in_segment_spec.rb +0 -6
- data/spec/unit/actions/synchronize_ldm_spec.rb +20 -7
- data/spec/unit/actions/synchronize_user_filters_spec.rb +21 -0
- data/spec/unit/helpers/check_helper_production_spec.rb +34 -0
- data/spec/unit/helpers/check_helper_spec.rb +97 -9
- data/spec/unit/lcm/lcm2_spec.rb +67 -3
- data/spec/unit/models/blueprint/to_wire_spec.rb +1 -0
- data/spec/unit/models/dataset_blueprint.rb +14 -0
- data/spec/unit/models/from_wire_spec.rb +20 -0
- data/spec/unit/models/model_spec.rb +10 -0
- data/spec/unit/models/to_manifest_spec.rb +29 -0
- data/spec/unit/models/user_filters/user_filter_builder_spec.rb +44 -6
- data/spec/unit/rest/phmap_spec.rb +117 -0
- data/spec/vcr_configurer.rb +63 -0
- metadata +293 -33
- data/lib/gooddata/lcm/actions/ensure_segments.rb +0 -32
data/lib/gooddata/version.rb
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
ipHm3wGRlHBM/d21U0CzAuKm/iUyO9imKB6s1Xv5uuUHSFXO4HDl+fllECzV
|
2
|
+
FRWWLrYP2U1ljgQXZI79zbTtonS/GqJOMS12HWYb6CalKeZdZ4pTC9/9IlWv
|
3
|
+
VW86Bnk4qfks8uQshGLX5jNbqlSmoBKdT9QeLcJq+FE96KH3mJ1+081rqyEu
|
4
|
+
Xy2ZxT9qnI4tRyBFOx/GThPo66ZZ18pryjyYpVUPYHPLpVqC7thfVCi++rGj
|
5
|
+
Wzkm+SgY+hCYHEG0Ap03aaxpO+SMK9w3tNECI39f84N1uN2N2XpyyDMQB9tx
|
6
|
+
ScdimuBR4nX/JytmupZWJU2phxfEzSzaELLiFPHNA3II7QNgU8V/PdwWQG3d
|
7
|
+
EG5WF8goPxE+SD5yIrcHdj4KAdADPbVyE9VMPR0dVLJ2Zu2mCSJVy9JL1WUk
|
8
|
+
d6DCwzlkiJ2AeOIgsk8SuNIiP18D95nCSPL8EyUyycZno5YLcqnzC1VcI9t4
|
9
|
+
M9MrcD9VO7GOKpX8wYXx9TbvPj+SU1ESux+0oeWl0jZAxI2+22qRRiqN8Xib
|
10
|
+
g2jnAN8nxG5UKfXS1fKbQnS5167/UTHY2j5iucK9+G3IyCLFbTKzcDVzYN4a
|
11
|
+
Pb52wPlzkRcrW4cDDwd3RwumqoDfLLEMGzSrYzgPFMnIDENWlaKjvksz36uD
|
12
|
+
2wziv9XpN6te0fzkCMjZ3RYBCPsS/O5kKiNbRL+gOZWQa+8pp6aqcE6+pkOw
|
13
|
+
qDyiDo9BeM/TPrlG8H/6K7Adsr4NljWQ1Tmqt5+Mnfm38GdDOBzqguXfrgH8
|
14
|
+
zrK0h3M/ovgwI9BqJadBxpLmMlZqui9H75yhELq4TKfm/JTO2sIeEnWydmjB
|
15
|
+
RF1cntXwLyw5hkUCYWLPLhidLx0s38FB3xNa8UImsPlP1HmK3c3reUlNL5WY
|
16
|
+
kXir0h2sm3H+WxwY8SLk9yvY3lMKeOntYUiMbG/Bzpmyiqry6UDX6E81ECzx
|
17
|
+
qIzpgP4lo8d2godyJywcBtAhHcKdWOjT0CgTheSLhacBMOHCHj1ss3oa31aa
|
18
|
+
KyYpxE4/lD2YmsLAbs0cdyDS3oTmR/u3SDQWFQ5VmL2l4G31X1t6hnUJVT8G
|
19
|
+
z0hV+NI9exXuMDob5bDKV2se53aZrjpQzzUKl8D5vhCr9FY+VHLiWIDLiMtc
|
20
|
+
qyMTbqFavMQYHqIlZFBSqVZ7vX0LjtlswGfGaYKo1t+jaYXohkhgFpj+tMAA
|
21
|
+
x+1s6GdH5S+zZBO7VZP72Uet8Z/+sM5cyoJ1iyjA30uhB5FNMQrvJflhdlX8
|
22
|
+
P1W03xizEoFzoMIPlVZd/sKrE0Jtb3VO+crJ8gaavcCBl1eTk3QiTec+0HcU
|
23
|
+
GbXYCok4ZErJWIyBfQF7wyEo13qkSmxnMeXeN/zKY/6zOen6drkybAJPZD3z
|
24
|
+
edLphlE3/9K3B4O3/63EFP3MaEI4w7WWyowr1s8Qjcelx4bIxNr7jRKbW665
|
25
|
+
qmA6GQA5Niveo0O47stsL0ret3lrcNXSF0Ku0GrcUPTyjKMYFUeNK243oopE
|
26
|
+
eZI04M789YWNni+fGAokUOXZYGoul3bSLjo2bJsmPjePLwa/e2sh5RIz7Tnu
|
27
|
+
ZDIsL0HSgujX2fuxG+yIcSJxnpcWbaIvHOEct5N2+u/ECKyCPVy/JH4RLxqG
|
28
|
+
VXhXRmAxDDjnKt7HXflhcNiVj9tObu7W5o8qlO5YyrZjn9U6QsjpQB1ZGws1
|
29
|
+
Fycdq4D2h4KuKyB/lGzm4yFqCvp3op3eVL85Oageclb+xyTfgtyRYK9uGSxI
|
30
|
+
yksDJdh9XziN+5NrjHPh3XI7RX3WdXQjqvR1k7Inb1jPCfEGG5PWd0UkxmAx
|
31
|
+
nPsaRfl0jdnafbdfD0FfBku0gc3tacKBMpU1yYmLL3nxs2XDAcvQr3khd1bD
|
32
|
+
pMIH+DlXSSNUZTH+Z/0ovANws93pRzumQU7hL1FH/+YpBsxwbqlmJk4imsa5
|
33
|
+
96e8YMpWTx0OG/VpPIX50bYiCIAvmgADvWbsYzX700Q8JIj/MASW+7NNko5E
|
34
|
+
4SsqjfEQX2PHWM8Z1xHu4FO5fz7HQdGPprWbL/j5SK+40eq5ypfRggHme7EG
|
35
|
+
9ul+xi3MKal8F9zHU63e9O7qzffclZGTMsYNHOBfBHujRVieRUqzDVJ5pTno
|
36
|
+
GiarkddVodkDCzxmM9mHrTeHGkmhr+pek8tkCbDevnGNU6/pgKQd2UmXQzVc
|
37
|
+
0E/Id2R/3JNp68aRuaSrF3cLfD2s7SabNsbYTp7nWPYYhj7ShgMDWh5DSKpo
|
38
|
+
lCu6Vmtk1+wbaHck5LnrkTo675GkziHN+6RHWmdR0aSc/LxK/s8yX37nRSXv
|
39
|
+
qY+rQXblTvCms5Tegn9+29QuX+Mx8uGIiW7xmuJBmo2Q9uvRip2OKZpD91Yr
|
40
|
+
ThoWiCv24+WfQZxx6yR0VYiiFPJTMmcp7LO2/KsNihsLT2+BUeuQ8uhjZpJJ
|
41
|
+
FwwLktZFn00jvRtASp83y8q4HtlIpYDJui/vr6peX0phH5XTghGgyTNWdLu3
|
42
|
+
BgopaatNftlk4ngNRvjQDC1NE/b94nvuh/LDFyiUHCSGT4YkrKRYXizV2E8B
|
43
|
+
5h2oTNKknV86EDWVrmCC2EU8odEO44YSicqzY8ewxA/8ziHD6RGz0O7qdayK
|
44
|
+
tZuIPuNTPuiXTg65tNu/P0df05Ymk/4MgC/2B+Rp6/Gn2gJKhnl6dQFe7tEV
|
45
|
+
McjZMMyVceZwKUPVomNRrN/Gmx+IWFy6mV2MIllQrgPJOj/laRH2Q/xRc9Kg
|
46
|
+
gJ2bIaKZLASfoV73/l0Pft3ZqMn59moM54cgenb+ESso2GwG5h7MC3KhV3zc
|
47
|
+
OepECsqyVx09aCIJG4VB9A9+hGUvqGBfaNyqlFZBM8BlhiNtPXGw7Nr9VBb3
|
48
|
+
KV6fkmVRCnrYRPEafMIc8bCOxNB5oCqquSPBnjDRk+lMBQrR+k/yD56vIeMM
|
49
|
+
Gpy8KddVEgNeCidPc9i1VIWa0eF/ehS/Nejbj0dy6YW4q+KwXD1SsK/vPLeX
|
50
|
+
bqo4qvWeg5SC6VIhwKKKd+Hu9ucKFUiD2wgEZFD6rqZGOiQO1pGKfIqUz9bS
|
51
|
+
nYdttLHq+ZH2+uL+4rAWm9uCgi8jerMKEcuSmJRnwssAio25dwo=
|
@@ -0,0 +1,109 @@
|
|
1
|
+
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
|
109
|
+
i1OS/Q==
|
data/spec/environment/default.rb
CHANGED
@@ -15,7 +15,7 @@ module GoodData
|
|
15
15
|
set_const :GD_MAX_RETRY, Helpers::GD_MAX_RETRY
|
16
16
|
|
17
17
|
set_const :DEFAULT_USERNAME, "rubydev+admin@gooddata.com"
|
18
|
-
set_const :DEFAULT_PASSWORD, GoodData::Helpers.decrypt(
|
18
|
+
set_const :DEFAULT_PASSWORD, GoodData::Helpers.decrypt("HeqNt6NKj7nEB5OEnXHQlsTRLQ3dVfG18gE8YtezgHY=\n", ENV['GD_SPEC_PASSWORD'] || ENV['BIA_ENCRYPTION_KEY'])
|
19
19
|
set_const :DEFAULT_DOMAIN, ''
|
20
20
|
set_const :DEFAULT_USER_URL, ''
|
21
21
|
|
@@ -27,7 +27,7 @@ module GoodData
|
|
27
27
|
|
28
28
|
module ProcessHelper
|
29
29
|
set_const :PROCESS_ID, ''
|
30
|
-
set_const :DEPLOY_NAME, '
|
30
|
+
set_const :DEPLOY_NAME, 'main.rb'
|
31
31
|
end
|
32
32
|
|
33
33
|
module ProjectHelper
|
@@ -7,7 +7,7 @@
|
|
7
7
|
module GoodData
|
8
8
|
module Environment
|
9
9
|
module ConnectionHelper
|
10
|
-
encrypted_token = "
|
10
|
+
encrypted_token = "ciKR76io4KgIUksL6BOF5GW9frsXHAa7JUFqRmc5Wsw=\n"
|
11
11
|
key = ENV['GD_SPEC_PASSWORD'] || ENV['BIA_ENCRYPTION_KEY']
|
12
12
|
token = GoodData::Helpers.decrypt(encrypted_token, key)
|
13
13
|
set_const :GD_PROJECT_TOKEN, token
|
data/spec/environment/staging.rb
CHANGED
@@ -7,8 +7,7 @@
|
|
7
7
|
module GoodData
|
8
8
|
module Environment
|
9
9
|
module ConnectionHelper
|
10
|
-
encrypted_token = "
|
11
|
-
"LFyAqU20U4k\ncRYb\n"
|
10
|
+
encrypted_token = "2OSh3iq0CJqJMbRJY5VvB9k1AaOus2YOEweAoat+neY=\n"
|
12
11
|
key = ENV['GD_SPEC_PASSWORD'] || ENV['BIA_ENCRYPTION_KEY']
|
13
12
|
token = GoodData::Helpers.decrypt(encrypted_token, key)
|
14
13
|
set_const :GD_PROJECT_TOKEN, token
|
@@ -19,7 +18,7 @@ module GoodData
|
|
19
18
|
end
|
20
19
|
|
21
20
|
module ProcessHelper
|
22
|
-
set_const :PROCESS_ID, '
|
21
|
+
set_const :PROCESS_ID, '05cd64ef-db14-49f0-a755-d94d0fb1b3cd'
|
23
22
|
end
|
24
23
|
|
25
24
|
module ProjectHelper
|
data/spec/environment/testing.rb
CHANGED
@@ -8,7 +8,7 @@ module GoodData
|
|
8
8
|
module Environment
|
9
9
|
module ConnectionHelper
|
10
10
|
set_const :GD_PROJECT_TOKEN, GoodData::Helpers.decrypt(
|
11
|
-
"
|
11
|
+
"n968RZTTh4VLLrVveEdjD32/6uSXTw8H+nDbmT51j/s=\n",
|
12
12
|
ENV['GD_SPEC_PASSWORD'] || ENV['BIA_ENCRYPTION_KEY']
|
13
13
|
)
|
14
14
|
set_const :DEFAULT_DOMAIN, 'staging2-lcm-prod'
|
@@ -18,15 +18,15 @@ module GoodData
|
|
18
18
|
end
|
19
19
|
|
20
20
|
module ProcessHelper
|
21
|
-
set_const :PROCESS_ID, '
|
21
|
+
set_const :PROCESS_ID, '7bc4b678-d1f6-4fb0-b1ee-513f4709bbf1'
|
22
22
|
end
|
23
23
|
|
24
24
|
module ProjectHelper
|
25
|
-
set_const :PROJECT_ID, '
|
25
|
+
set_const :PROJECT_ID, 'voyb6fcvdngwfyf722vn9cmbv7sq6mf6'
|
26
26
|
end
|
27
27
|
|
28
28
|
module ScheduleHelper
|
29
|
-
set_const :SCHEDULE_ID, '
|
29
|
+
set_const :SCHEDULE_ID, '5acdd513e4b01dce92b23505'
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2010-2018 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_relative '../helpers/connection_helper'
|
8
|
+
|
9
|
+
describe GoodData do
|
10
|
+
let(:login) { 'rubydev+admin@gooddata.com' }
|
11
|
+
KEYS = ['dev-gooddata-sso.pub', 'rubydev_public.gpg', 'rubydev_secret_keys.gpg']
|
12
|
+
|
13
|
+
before do
|
14
|
+
cipher = ENV['GD_SPEC_PASSWORD'] || ENV['BIA_ENCRYPTION_KEY']
|
15
|
+
KEYS.each do |key|
|
16
|
+
File.write(key, GoodData::Helpers.decrypt(File.read(key + '.encrypted'), cipher))
|
17
|
+
end
|
18
|
+
|
19
|
+
`gpg --import #{KEYS.join(' ')}`
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'can use SSO' do
|
23
|
+
rest_client = GoodData.connect_sso(
|
24
|
+
login,
|
25
|
+
'test-ruby',
|
26
|
+
GoodData::Environment::ConnectionHelper::DEFAULT_SERVER,
|
27
|
+
server: GoodData::Environment::ConnectionHelper::DEFAULT_SERVER,
|
28
|
+
verify_ssl: false
|
29
|
+
)
|
30
|
+
user = rest_client.domain(GoodData::Environment::ConnectionHelper::DEFAULT_DOMAIN).users(login, client: rest_client)
|
31
|
+
expect(user).to be_truthy
|
32
|
+
end
|
33
|
+
|
34
|
+
after do
|
35
|
+
KEYS.each { |key| File.delete(key) }
|
36
|
+
end
|
37
|
+
end
|
@@ -36,7 +36,7 @@ class TestLogger < Logger
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
describe 'GoodData - logging' do
|
39
|
+
describe 'GoodData - logging', :vcr do
|
40
40
|
TEST_MESSAGE = 'Hello World!'
|
41
41
|
|
42
42
|
def test_error
|
@@ -52,10 +52,10 @@ describe 'GoodData - logging' do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def test_request_id_logging
|
55
|
-
|
56
|
-
id =
|
55
|
+
@client = ConnectionHelper.create_default_connection
|
56
|
+
id = @client.generate_request_id
|
57
57
|
GoodData.logger.info "Request id: #{id} Doing something very useful"
|
58
|
-
|
58
|
+
@client.get('/gdc/md', :request_id => id)
|
59
59
|
id
|
60
60
|
end
|
61
61
|
|
@@ -78,6 +78,8 @@ describe 'GoodData - logging' do
|
|
78
78
|
else
|
79
79
|
GoodData.logging_off
|
80
80
|
end
|
81
|
+
|
82
|
+
@client.disconnect if @client
|
81
83
|
end
|
82
84
|
|
83
85
|
describe '#logger' do
|
@@ -93,9 +95,9 @@ describe 'GoodData - logging' do
|
|
93
95
|
it 'client logs when given custom message' do
|
94
96
|
GoodData.logger = TestLogger.new(STDOUT)
|
95
97
|
GoodData.logger.level = Logger::INFO
|
96
|
-
|
98
|
+
@client = ConnectionHelper.create_default_connection
|
97
99
|
message = "Getting all projects."
|
98
|
-
|
100
|
+
@client.get('/gdc/md', :info_message => message)
|
99
101
|
expect(GoodData.logger.last_message).to include(message)
|
100
102
|
end
|
101
103
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
describe GoodData::MandatoryUserFilter do
|
2
|
+
before :all do
|
3
|
+
@client = ConnectionHelper.create_default_connection
|
4
|
+
@project, * = ProjectHelper.load_full_project_implementation @client
|
5
|
+
@domain = @client.domain(ConnectionHelper::DEFAULT_DOMAIN)
|
6
|
+
end
|
7
|
+
|
8
|
+
after :all do
|
9
|
+
@project.delete if @project
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'when several users are sharing a MUF' do
|
13
|
+
before :all do
|
14
|
+
label = @project.labels.to_a.first
|
15
|
+
value = label.values.to_a.first
|
16
|
+
|
17
|
+
helper = AppstoreProjectHelper.new(@project, client: @client)
|
18
|
+
usr = helper.ensure_user('tttt@tttt.est', @domain)
|
19
|
+
|
20
|
+
other_usr = @domain.find_user_by_login 'rubydev+admin@gooddata.com'
|
21
|
+
|
22
|
+
filters = [[other_usr.email, label.uri, value[:value]]]
|
23
|
+
@project.add_data_permissions filters
|
24
|
+
|
25
|
+
muf = GoodData::MandatoryUserFilter.all(client: @client, project: @project).to_a.first
|
26
|
+
# TODO: replace this when gooddata-ruby supports MUFs shared between users
|
27
|
+
[usr, other_usr].map(&:uri).each do |u|
|
28
|
+
payload = {
|
29
|
+
'userFilters' => {
|
30
|
+
'items' => [
|
31
|
+
{
|
32
|
+
'user' => u,
|
33
|
+
'userFilters' => [muf.uri]
|
34
|
+
}
|
35
|
+
]
|
36
|
+
}
|
37
|
+
}
|
38
|
+
@client.post("/gdc/md/#{@project.pid}/userfilters", payload)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'can fetch the related uris' do
|
43
|
+
mufs = GoodData::MandatoryUserFilter.all(client: @client, project: @project).to_a
|
44
|
+
expect(mufs.first.related_uri.count).to eq 2
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'can fetch the related objects' do
|
48
|
+
mufs = GoodData::MandatoryUserFilter.all(client: @client, project: @project).to_a
|
49
|
+
expect(mufs.first.related.first).to be_a GoodData::Profile
|
50
|
+
expect(mufs.first.related.count).to eq 2
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -6,19 +6,31 @@
|
|
6
6
|
|
7
7
|
require 'gooddata/mixins/md_id_to_uri'
|
8
8
|
|
9
|
-
describe GoodData::Mixin::MdIdToUri do
|
10
|
-
before :
|
9
|
+
describe GoodData::Mixin::MdIdToUri, :vcr do
|
10
|
+
before :all do
|
11
11
|
@client = ConnectionHelper.create_default_connection
|
12
|
-
|
12
|
+
@suffix = AppstoreProjectHelper.suffix
|
13
|
+
@opts = {
|
14
|
+
client: @client,
|
15
|
+
title: "Project for id to uri spec #{@suffix}",
|
16
|
+
auth_token: ConnectionHelper::GD_PROJECT_TOKEN,
|
17
|
+
environment: 'TESTING',
|
18
|
+
prod_organization: 'staging-lcm-prod'
|
19
|
+
}
|
20
|
+
project_helper = AppstoreProjectHelper.create(@opts)
|
21
|
+
project_helper.create_ldm
|
22
|
+
project_helper.load_data
|
23
|
+
@project = project_helper.project
|
13
24
|
|
14
25
|
class SomeTestClass
|
15
26
|
extend GoodData::Mixin::MdIdToUri
|
16
27
|
end
|
17
28
|
|
18
|
-
@opts =
|
29
|
+
@opts[:project] = @project
|
19
30
|
end
|
20
31
|
|
21
|
-
after(:
|
32
|
+
after(:all) do
|
33
|
+
@project.delete
|
22
34
|
@client.disconnect
|
23
35
|
end
|
24
36
|
|
@@ -37,4 +37,13 @@ describe GoodData::Label do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
context 'updating metadata' do
|
42
|
+
it 'sets the label as deprecated' do
|
43
|
+
@label.meta['deprecated'] = 1
|
44
|
+
@label.save
|
45
|
+
@label.reload!
|
46
|
+
expect(@label.meta['deprecated']).to eq("1")
|
47
|
+
end
|
48
|
+
end
|
40
49
|
end
|