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.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/.document +0 -0
  3. data/.flayignore +2 -0
  4. data/.travis.yml +24 -7
  5. data/.yardopts +0 -0
  6. data/CHANGELOG.md +144 -0
  7. data/CLI.md +0 -0
  8. data/Dockerfile.jruby +7 -2
  9. data/Dockerfile.ruby +1 -1
  10. data/Gemfile +0 -0
  11. data/Guardfile +0 -0
  12. data/Rakefile +23 -9
  13. data/TODO.md +0 -0
  14. data/bin/gitflow-init.sh +8 -0
  15. data/ci.rake +3 -3
  16. data/data/2008.crt +39 -0
  17. data/data/new_ca.cer +22 -0
  18. data/dependency_decisions.yml +0 -0
  19. data/docker-compose.lcm.yml +31 -0
  20. data/docker-compose.yml +4 -2
  21. data/gooddata.gemspec +3 -3
  22. data/lcm.rake +288 -0
  23. data/lib/gooddata.rb +1 -0
  24. data/lib/gooddata/bricks/base_downloader.rb +1 -1
  25. data/lib/gooddata/bricks/brick.rb +0 -1
  26. data/lib/gooddata/bricks/middleware/aws_middleware.rb +1 -1
  27. data/lib/gooddata/bricks/middleware/logger_middleware.rb +1 -1
  28. data/lib/gooddata/bricks/pipeline.rb +67 -0
  29. data/lib/gooddata/bricks/provisioning_brick.rb +18 -0
  30. data/lib/gooddata/bricks/release_brick.rb +18 -0
  31. data/lib/gooddata/bricks/rollout_brick.rb +14 -0
  32. data/lib/gooddata/bricks/user_filters_brick.rb +13 -0
  33. data/lib/gooddata/bricks/users_brick.rb +13 -0
  34. data/lib/gooddata/core/logging.rb +1 -1
  35. data/lib/gooddata/exceptions/maql_execution.rb +1 -1
  36. data/lib/gooddata/extensions/string.rb +0 -0
  37. data/lib/gooddata/lcm/actions/associate_clients.rb +34 -8
  38. data/lib/gooddata/lcm/actions/collect_data_product.rb +8 -1
  39. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +13 -23
  40. data/lib/gooddata/lcm/actions/collect_segments.rb +10 -0
  41. data/lib/gooddata/lcm/actions/synchronize_clients.rb +3 -1
  42. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +61 -34
  43. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +6 -4
  44. data/lib/gooddata/lcm/actions/update_release_table.rb +4 -12
  45. data/lib/gooddata/lcm/dsl/params_dsl.rb +0 -4
  46. data/lib/gooddata/lcm/dsl/type_dsl.rb +0 -4
  47. data/lib/gooddata/lcm/helpers/check_helper.rb +1 -1
  48. data/lib/gooddata/lcm/lcm2.rb +0 -2
  49. data/lib/gooddata/lcm/types/special/enum.rb +6 -0
  50. data/lib/gooddata/lcm/types/special/enum/synchronize_ldm.rb +20 -0
  51. data/lib/gooddata/lcm/types/special/types.rb +1 -1
  52. data/lib/gooddata/mixins/is_folder.rb +0 -0
  53. data/lib/gooddata/mixins/to_json.rb +0 -0
  54. data/lib/gooddata/mixins/uri_getter.rb +0 -0
  55. data/lib/gooddata/models/project_creator.rb +38 -30
  56. data/lib/gooddata/models/user_filters/user_filter_builder.rb +1 -0
  57. data/lib/gooddata/rest/README.md +0 -0
  58. data/lib/gooddata/version.rb +1 -1
  59. data/lib/templates/bricks/brick.rb.erb +0 -0
  60. data/lib/templates/bricks/main.rb.erb +0 -0
  61. data/lib/templates/project/Goodfile.erb +0 -0
  62. data/lib/templates/project/data/commits.csv +0 -0
  63. data/lib/templates/project/data/devs.csv +0 -0
  64. data/lib/templates/project/data/repos.csv +0 -0
  65. data/lib/templates/project/model/model.rb.erb +0 -0
  66. metadata +23 -452
  67. data/lib/gooddata/lcm/actions/ensure_data_product.rb +0 -63
  68. data/spec/.rubocop.yml +0 -16
  69. data/spec/bricks/bricks_spec.rb +0 -110
  70. data/spec/bricks/default-config.json +0 -8
  71. data/spec/data/.gooddata +0 -4
  72. data/spec/data/blueprints/additional_dataset_module.json +0 -32
  73. data/spec/data/blueprints/attribute_sort_order_blueprint.json +0 -72
  74. data/spec/data/blueprints/big_blueprint_not_pruned.json +0 -2079
  75. data/spec/data/blueprints/invalid_blueprint.json +0 -103
  76. data/spec/data/blueprints/m_n_model.json +0 -104
  77. data/spec/data/blueprints/model_module.json +0 -25
  78. data/spec/data/blueprints/test_blueprint.json +0 -39
  79. data/spec/data/blueprints/test_project_model_spec.json +0 -106
  80. data/spec/data/cc/data/source/commits.csv +0 -4
  81. data/spec/data/cc/data/source/devs.csv +0 -4
  82. data/spec/data/cc/data/source/repos.csv +0 -3
  83. data/spec/data/cc/devel.prm +0 -0
  84. data/spec/data/cc/graph/graph.grf +0 -11
  85. data/spec/data/cc/workspace.prm +0 -19
  86. data/spec/data/column_based_permissions.csv +0 -7
  87. data/spec/data/column_based_permissions2.csv +0 -6
  88. data/spec/data/dynamic_schedule_params_table.csv +0 -7
  89. data/spec/data/gd_gse_data_blueprint.json +0 -1371
  90. data/spec/data/gd_gse_data_manifest.json +0 -1424
  91. data/spec/data/gd_gse_data_model.json +0 -1772
  92. data/spec/data/gooddata_version_process/gooddata_version.rb +0 -9
  93. data/spec/data/gooddata_version_process/gooddata_version.zip +0 -0
  94. data/spec/data/hello_world_process/hello_world.rb +0 -9
  95. data/spec/data/hello_world_process/hello_world.zip +0 -0
  96. data/spec/data/integration_model.json +0 -252
  97. data/spec/data/integration_policies.csv +0 -9134
  98. data/spec/data/line_based_permissions.csv +0 -3
  99. data/spec/data/manifests/test_blueprint.json +0 -32
  100. data/spec/data/manifests/test_project.json +0 -107
  101. data/spec/data/reports/left_attr_report.json +0 -108
  102. data/spec/data/reports/metric_only_one_line.json +0 -83
  103. data/spec/data/reports/report_1.json +0 -197
  104. data/spec/data/reports/top_attr_report.json +0 -108
  105. data/spec/data/ruby_params_process/ruby_params.rb +0 -9
  106. data/spec/data/ruby_process/deep_files/deep_stuff.txt +0 -1
  107. data/spec/data/ruby_process/process.rb +0 -8
  108. data/spec/data/ruby_process/stuff.txt +0 -1
  109. data/spec/data/superfluous_titles_view.json +0 -81
  110. data/spec/data/test-ci-data.csv +0 -2
  111. data/spec/data/user_filters.csv +0 -2
  112. data/spec/data/users.csv +0 -12
  113. data/spec/data/wire_models/attribute_sort_by_model.json +0 -73
  114. data/spec/data/wire_models/model_view.json +0 -1775
  115. data/spec/data/wire_models/nu_model.json +0 -3046
  116. data/spec/data/wire_models/test_blueprint.json +0 -66
  117. data/spec/data/wire_test_project.json +0 -150
  118. data/spec/data/workspace_table.csv +0 -3
  119. data/spec/environment/default.rb +0 -43
  120. data/spec/environment/development.rb +0 -32
  121. data/spec/environment/environment.rb +0 -38
  122. data/spec/environment/production.rb +0 -27
  123. data/spec/environment/staging.rb +0 -32
  124. data/spec/environment/testing.rb +0 -32
  125. data/spec/helpers/appstore_project_helper.rb +0 -221
  126. data/spec/helpers/blueprint_helper.rb +0 -27
  127. data/spec/helpers/cli_helper.rb +0 -38
  128. data/spec/helpers/connection_helper.rb +0 -43
  129. data/spec/helpers/constants.rb +0 -32
  130. data/spec/helpers/crypto_helper.rb +0 -19
  131. data/spec/helpers/csv_helper.rb +0 -20
  132. data/spec/helpers/process_helper.rb +0 -35
  133. data/spec/helpers/project_helper.rb +0 -74
  134. data/spec/helpers/schedule_helper.rb +0 -33
  135. data/spec/helpers/spec_helper.rb +0 -17
  136. data/spec/integration/ads_output_stage_spec.rb +0 -45
  137. data/spec/integration/blueprint_updates_spec.rb +0 -107
  138. data/spec/integration/blueprint_with_ca_spec.rb +0 -56
  139. data/spec/integration/blueprint_with_grain_spec.rb +0 -74
  140. data/spec/integration/channel_configuration_spec.rb +0 -67
  141. data/spec/integration/clients_spec.rb +0 -164
  142. data/spec/integration/command_datawarehouse_spec.rb +0 -45
  143. data/spec/integration/command_projects_spec.rb +0 -32
  144. data/spec/integration/commands/command_projects_spec.rb +0 -22
  145. data/spec/integration/connection_spec.rb +0 -37
  146. data/spec/integration/core/connection_spec.rb +0 -56
  147. data/spec/integration/core/logging_spec.rb +0 -132
  148. data/spec/integration/core/project_spec.rb +0 -54
  149. data/spec/integration/create_from_template_spec.rb +0 -29
  150. data/spec/integration/create_project_spec.rb +0 -27
  151. data/spec/integration/date_dim_switch_spec.rb +0 -154
  152. data/spec/integration/deprecated_load_spec.rb +0 -60
  153. data/spec/integration/full_process_schedule_spec.rb +0 -367
  154. data/spec/integration/full_project_spec.rb +0 -592
  155. data/spec/integration/helpers_spec.rb +0 -16
  156. data/spec/integration/lcm_spec.rb +0 -54
  157. data/spec/integration/mandatory_user_filter_spec.rb +0 -53
  158. data/spec/integration/mixins/id_to_uri_spec.rb +0 -56
  159. data/spec/integration/models/data_product_spec.rb +0 -71
  160. data/spec/integration/models/domain_spec.rb +0 -162
  161. data/spec/integration/models/invitation_spec.rb +0 -17
  162. data/spec/integration/models/label_spec.rb +0 -49
  163. data/spec/integration/models/membership_spec.rb +0 -127
  164. data/spec/integration/models/metadata/report_spec.rb +0 -54
  165. data/spec/integration/models/metric_spec.rb +0 -24
  166. data/spec/integration/models/params_spec.rb +0 -118
  167. data/spec/integration/models/process_spec.rb +0 -35
  168. data/spec/integration/models/profile_spec.rb +0 -210
  169. data/spec/integration/models/project_role_spec.rb +0 -94
  170. data/spec/integration/models/project_spec.rb +0 -225
  171. data/spec/integration/models/schedule_spec.rb +0 -477
  172. data/spec/integration/models/unit_project_spec.rb +0 -130
  173. data/spec/integration/over_to_user_filters_spec.rb +0 -98
  174. data/spec/integration/partial_md_export_import_spec.rb +0 -41
  175. data/spec/integration/project_spec.rb +0 -381
  176. data/spec/integration/rest_spec.rb +0 -214
  177. data/spec/integration/schedule_spec.rb +0 -611
  178. data/spec/integration/segments_spec.rb +0 -100
  179. data/spec/integration/subscription_spec.rb +0 -88
  180. data/spec/integration/urn_date_dim_spec.rb +0 -53
  181. data/spec/integration/user_filters_spec.rb +0 -310
  182. data/spec/integration/user_group_spec.rb +0 -147
  183. data/spec/integration/variables_spec.rb +0 -189
  184. data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/can_assign_a_custom_logger.yml +0 -2287
  185. data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/client_logs_when_given_custom_message.yml +0 -2287
  186. data/spec/integration/vcr_cassettes/GoodData_-_logging/_logger/has_the_request_id_logged_when_I_passed_it.yml +0 -2287
  187. data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_off/Disables_logging.yml +0 -2287
  188. data/spec/integration/vcr_cassettes/GoodData_-_logging/_logging_on/Enables_logging.yml +0 -2287
  189. data/spec/integration/vcr_cassettes/GoodData_-_project/_project/Returns_project_assigned.yml +0 -354
  190. data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_nil.yml +0 -299
  191. data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_directly.yml +0 -354
  192. data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_ID.yml +0 -354
  193. data/spec/integration/vcr_cassettes/GoodData_-_project/_project_/Assigns_project_using_project_URL.yml +0 -354
  194. data/spec/integration/vcr_cassettes/GoodData_-_project/_with_project/Uses_project_specified.yml +0 -354
  195. data/spec/integration/vcr_cassettes/GoodData_Metric/all.yml +0 -2065
  196. data/spec/integration/vcr_cassettes/GoodData_Metric/should_be_able_to_update_folders.yml +0 -119
  197. data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/all.yml +0 -9812
  198. data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_get_json_containing_correct_id.yml +0 -174
  199. data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_return_nil_for_unknown_id.yml +0 -58
  200. data/spec/integration/vcr_cassettes/GoodData_Mixin_MdIdToUri/should_throw_BadRequest_for_-1.yml +0 -63
  201. data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_connect/Connects_using_username_and_password.yml +0 -299
  202. data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_disconnect/Connects_using_username_and_password.yml +0 -299
  203. data/spec/integration/vcr_cassettes/GoodData_Rest_Connection/_generate_request_id/Generates_a_non-empty_string.yml +0 -2287
  204. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_/Should_list_user_groups_as_Array.yml +0 -56
  205. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_add_members/Should_add_member.yml +0 -315
  206. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_members/Should_return_members_as_array.yml +0 -54
  207. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_remove_members/Should_remove_existing_members.yml +0 -258
  208. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_save/updates_existing_group.yml +0 -159
  209. data/spec/integration/vcr_cassettes/GoodData_UserGroup/_set_members/Should_set_new_members.yml +0 -158
  210. data/spec/integration/vcr_cassettes/GoodData_UserGroup/all.yml +0 -809
  211. data/spec/logging_in_logging_out_spec.rb +0 -91
  212. data/spec/spec_helper.rb +0 -110
  213. data/spec/unit/actions/associate_clients_spec.rb +0 -48
  214. data/spec/unit/actions/collect_client_projects_spec.rb +0 -47
  215. data/spec/unit/actions/collect_clients_spec.rb +0 -65
  216. data/spec/unit/actions/collect_data_product_spec.rb +0 -58
  217. data/spec/unit/actions/collect_dynamic_schedule_params_spec.rb +0 -56
  218. data/spec/unit/actions/collect_meta_spec.rb +0 -88
  219. data/spec/unit/actions/collect_segment_clients_spec.rb +0 -82
  220. data/spec/unit/actions/collect_tagged_objects_spec.rb +0 -126
  221. data/spec/unit/actions/collect_users_brick_users_spec.rb +0 -36
  222. data/spec/unit/actions/create_segment_masters_spec.rb +0 -65
  223. data/spec/unit/actions/ensure_data_product_spec.rb +0 -39
  224. data/spec/unit/actions/ensure_technical_users_domain_spec.rb +0 -53
  225. data/spec/unit/actions/ensure_technical_users_project_spec.rb +0 -76
  226. data/spec/unit/actions/execute_schedules_spec.rb +0 -94
  227. data/spec/unit/actions/provision_clients_spec.rb +0 -46
  228. data/spec/unit/actions/purge_clients_spec.rb +0 -47
  229. data/spec/unit/actions/rename_existing_client_projects_spec.rb +0 -54
  230. data/spec/unit/actions/segments_filter_spec.rb +0 -46
  231. data/spec/unit/actions/shared_examples_for_user_actions.rb +0 -43
  232. data/spec/unit/actions/synchronize_cas_spec.rb +0 -58
  233. data/spec/unit/actions/synchronize_clients_spec.rb +0 -71
  234. data/spec/unit/actions/synchronize_etls_in_segment_spec.rb +0 -206
  235. data/spec/unit/actions/synchronize_ldm_spec.rb +0 -70
  236. data/spec/unit/actions/synchronize_user_filters_spec.rb +0 -208
  237. data/spec/unit/actions/synchronize_user_groups_spec.rb +0 -49
  238. data/spec/unit/actions/synchronize_users_spec.rb +0 -180
  239. data/spec/unit/bricks/bricks_spec.rb +0 -34
  240. data/spec/unit/bricks/middleware/aws_middelware_spec.rb +0 -98
  241. data/spec/unit/bricks/middleware/bench_middleware_spec.rb +0 -15
  242. data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +0 -15
  243. data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +0 -15
  244. data/spec/unit/bricks/middleware/logger_middleware_spec.rb +0 -30
  245. data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +0 -15
  246. data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +0 -15
  247. data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +0 -15
  248. data/spec/unit/cli/cli_spec.rb +0 -17
  249. data/spec/unit/cli/commands/cmd_auth_spec.rb +0 -17
  250. data/spec/unit/core/nil_logger_spec.rb +0 -13
  251. data/spec/unit/extensions/hash_spec.rb +0 -22
  252. data/spec/unit/godzilla/goodzilla_spec.rb +0 -74
  253. data/spec/unit/helpers/check_helper_production_spec.rb +0 -34
  254. data/spec/unit/helpers/check_helper_spec.rb +0 -134
  255. data/spec/unit/helpers/csv_helper_spec.rb +0 -22
  256. data/spec/unit/helpers/data_helper_spec.rb +0 -67
  257. data/spec/unit/helpers/global_helpers_spec.rb +0 -264
  258. data/spec/unit/helpers_spec.rb +0 -254
  259. data/spec/unit/lcm/lcm2_spec.rb +0 -100
  260. data/spec/unit/lcm/user_bricks_helper_spec.rb +0 -58
  261. data/spec/unit/models/blueprint/attribute_sort_by_spec.rb +0 -20
  262. data/spec/unit/models/blueprint/attributes_spec.rb +0 -28
  263. data/spec/unit/models/blueprint/dataset_spec.rb +0 -120
  264. data/spec/unit/models/blueprint/label_blueprint_field_spec.rb +0 -43
  265. data/spec/unit/models/blueprint/project_blueprint_spec.rb +0 -642
  266. data/spec/unit/models/blueprint/reference_spec.rb +0 -28
  267. data/spec/unit/models/blueprint/schema_builder_spec.rb +0 -36
  268. data/spec/unit/models/blueprint/to_wire_spec.rb +0 -196
  269. data/spec/unit/models/dataset_blueprint.rb +0 -14
  270. data/spec/unit/models/execution_spec.rb +0 -109
  271. data/spec/unit/models/from_wire_spec.rb +0 -321
  272. data/spec/unit/models/metadata_spec.rb +0 -140
  273. data/spec/unit/models/metric_spec.rb +0 -129
  274. data/spec/unit/models/model_spec.rb +0 -87
  275. data/spec/unit/models/project_creator_spec.rb +0 -90
  276. data/spec/unit/models/project_spec.rb +0 -94
  277. data/spec/unit/models/report_result_data_spec.rb +0 -194
  278. data/spec/unit/models/to_manifest_spec.rb +0 -165
  279. data/spec/unit/models/user_filters/user_filter_builder_spec.rb +0 -149
  280. data/spec/unit/models/user_filters_spec.rb +0 -95
  281. data/spec/unit/models/variable_spec.rb +0 -280
  282. data/spec/unit/rest/phmap_spec.rb +0 -117
  283. data/spec/unit/rest/polling_spec.rb +0 -101
  284. data/spec/unit/rest/resource_spec.rb +0 -10
  285. 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
@@ -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