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,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
@@ -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
@@ -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
@@ -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
@@ -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