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,56 +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.build("My project from blueprint") do |project_builder|
13
- project_builder.add_dataset('dataset.users', title: 'Users Dataset') do |schema_builder|
14
- schema_builder.add_anchor('attr.users.id')
15
- schema_builder.add_label('label.users.id_label', reference: 'attr.users.id')
16
- schema_builder.add_attribute('attr.users.another_attr')
17
- schema_builder.add_label('label.users.another_attr_label', reference: 'attr.users.another_attr')
18
- schema_builder.add_fact('fact.users.some_number')
19
- end
20
- end
21
- fail "blueprint is invalid" unless @blueprint.valid?
22
-
23
- @project = @client.create_project_from_blueprint(@blueprint, auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
24
- end
25
-
26
- after(:all) do
27
- @project && @project.delete
28
- @client && @client.disconnect
29
- end
30
-
31
- it 'Should create computed attribute' do
32
- metric = @project.facts('fact.users.some_number').create_metric(title: 'Test')
33
- metric.save
34
- attribute = @project.attributes('attr.users.another_attr')
35
-
36
- update = GoodData::Model::ProjectBlueprint.build('update') do |project_builder|
37
- project_builder.add_computed_attribute(
38
- 'attr.comp.my_computed_attr',
39
- title: 'My computed attribute',
40
- metric: metric,
41
- attribute: attribute,
42
- buckets: [{ label: 'Small', highest_value: 1000 }, { label: 'Medium', highest_value: 2000 }, { label: 'High' }]
43
- )
44
- end
45
-
46
- new_bp = @blueprint.merge(update)
47
- fail "blueprint with computed attribute is invalid" unless new_bp.valid?
48
-
49
- @project.update_from_blueprint(new_bp)
50
- ca = @project.attributes.find { |a| a.title == 'My computed attribute' }
51
-
52
- expect(ca).not_to be_nil
53
- expect(ca.computed_attribute?).to be_truthy
54
- expect(@project.computed_attributes.length).to eq 1
55
- end
56
- 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 'Create project using GoodData client', :constraint => 'slow' do
10
- before(:all) do
11
- @client = ConnectionHelper.create_default_connection
12
- @blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p|
13
- p.add_date_dimension('created_on')
14
-
15
- p.add_dataset('dataset.users') do |d|
16
- d.add_anchor('attr.users.id', grain: [{ date: 'created_on' }, { attribute: 'attribute.user' }])
17
- d.add_date('created_on')
18
- d.add_attribute('attribute.user')
19
- d.add_label('label.user.email', reference: 'attribute.user')
20
- d.add_fact('fact.users.some_number')
21
- end
22
- end
23
- @blueprint.valid? # => true
24
-
25
- @project = @client.create_project_from_blueprint(@blueprint, auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
26
- end
27
-
28
- after(:all) do
29
- @project.delete
30
- @client.disconnect
31
- end
32
-
33
- it 'Should load the data with grain' do
34
- data = [
35
- ['created_on', 'label.user.email', 'fact.users.some_number'],
36
- ['01/01/2011', 'thomas', '1'],
37
- ['01/01/2011', 'thomas', '2'],
38
- ['01/01/2011', 'jim', '2'],
39
- ['01/01/2011', 'peter', '2'],
40
- ['01/01/2011', 'john', '3']
41
- ]
42
- @project.upload(data, @blueprint, 'dataset.users')
43
-
44
- expect(@project.blueprint.datasets.first.count(@project)).to eq 4
45
- end
46
-
47
- it 'Should be able to remove grain and load the same data' do
48
- updated_blueprint = GoodData::Model::ProjectBlueprint.build("My project from blueprint") do |p|
49
- p.add_date_dimension('created_on')
50
-
51
- p.add_dataset('dataset.users') do |d|
52
- d.add_anchor('attr.users.id')
53
- d.add_date('created_on')
54
- d.add_attribute('attribute.user')
55
- d.add_label('label.user.email', reference: 'attribute.user')
56
- d.add_fact('fact.users.some_number')
57
- end
58
- end
59
-
60
- @project.update_from_blueprint(updated_blueprint)
61
-
62
- data = [
63
- ['created_on', 'label.user.email', 'fact.users.some_number'],
64
- ['01/01/2011', 'thomas', '1'],
65
- ['01/01/2011', 'thomas', '2'],
66
- ['01/01/2011', 'jim', '2'],
67
- ['01/01/2011', 'peter', '2'],
68
- ['01/01/2011', 'john', '3']
69
- ]
70
- @project.upload(data, @blueprint, 'dataset.users')
71
-
72
- expect(@project.blueprint.datasets.first.count(@project)).to eq 5
73
- end
74
- 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'
8
-
9
- describe GoodData::ChannelConfiguration, :constraint => 'slow' do
10
- before(:all) do
11
- @client = ConnectionHelper.create_default_connection
12
- end
13
-
14
- after(:all) do
15
- @client.disconnect
16
- end
17
-
18
- it 'should be able to create a channel' do
19
- begin
20
- channel = GoodData::ChannelConfiguration.create(client: @client)
21
- expect(channel.to).to eq ConnectionHelper::DEFAULT_USERNAME
22
- expect(channel.title).to eq ConnectionHelper::DEFAULT_USERNAME
23
- ensure
24
- channel && channel.delete
25
- end
26
- end
27
-
28
- it 'should not create dubplicate channel' do
29
- begin
30
- channel = GoodData::ChannelConfiguration.create(client: @client)
31
- GoodData::ChannelConfiguration.create(client: @client, title: 'another channel')
32
- expect(GoodData::ChannelConfiguration.all).to eq [channel]
33
- ensure
34
- channel && channel.delete
35
- end
36
- end
37
-
38
- it 'should be able to edit a channel' do
39
- begin
40
- channel = GoodData::ChannelConfiguration.create(client: @client, title: 'my channel')
41
- expect(channel.to).to eq ConnectionHelper::DEFAULT_USERNAME
42
- expect(channel.title).to eq 'my channel'
43
-
44
- channel.title = 'New title'
45
- channel.save
46
-
47
- expect(GoodData::ChannelConfiguration[channel.channel_id].title).to eq 'New title'
48
- ensure
49
- channel && channel.delete
50
- end
51
- end
52
-
53
- it 'should be able to list all channels' do
54
- begin
55
- expect(GoodData::ChannelConfiguration.all).to eq []
56
- channel = GoodData::ChannelConfiguration.create(client: @client)
57
- expect(GoodData::ChannelConfiguration.all).to eq [channel]
58
- ensure
59
- channel && channel.delete
60
- end
61
- end
62
-
63
- it 'should be able to delete a channel' do
64
- channel = GoodData::ChannelConfiguration.create(client: @client)
65
- channel.delete
66
- end
67
- end
@@ -1,164 +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/models/segment'
8
- require 'securerandom'
9
-
10
- describe GoodData::Client do
11
- before(:all) do
12
- @client = ConnectionHelper.create_default_connection
13
- @domain = @client.domain(ConnectionHelper::DEFAULT_DOMAIN)
14
- @master_project = @client.create_project(title: 'Test project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
15
- @segment_name = "segment-#{SecureRandom.uuid}"
16
- @segment = @domain.create_segment(segment_id: @segment_name, master_project: @master_project)
17
- end
18
-
19
- after(:all) do
20
- @segment && @segment.delete
21
- @master_project && @master_project.delete
22
- @client.disconnect
23
- end
24
-
25
- describe '#[]' do
26
- before(:all) do
27
- client_id = SecureRandom.uuid
28
- @client_project = @client.create_project(title: "client_#{client_id} project", auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
29
- @segment_client = @segment.create_client(id: "tenant_#{client_id}", project: @client_project)
30
- end
31
-
32
- it 'Returns all clients of a segment' do
33
- clients = @segment.clients
34
- expect(clients.to_a).to be_an_instance_of(Array)
35
- expect(clients.to_a.size).to eq 1
36
- end
37
-
38
- it 'Returns specific tenant when schedule ID passed' do
39
- client = @segment.clients(@segment_client)
40
- expect(client).to be_an_instance_of(GoodData::Client)
41
- expect(client.client_id).to eq @segment_client.client_id
42
- end
43
-
44
- after(:all) do
45
- @client_project && @client_project.delete
46
- @segment_client && @segment_client.delete
47
- end
48
- end
49
-
50
- describe '#delete' do
51
- before(:all) do
52
- client_id = SecureRandom.uuid
53
- @segment_client = @segment.create_client(id: "tenant_#{client_id}")
54
- end
55
-
56
- it 'Deletes particular client' do
57
- expect(@segment.clients.count).to eq 1
58
- s = @segment.clients(@segment_client)
59
- s.delete
60
- expect(@segment.clients.count).to eq 0
61
- @segment_client = nil
62
- end
63
- end
64
-
65
- describe '#dissociate' do
66
- before(:all) do
67
- client_id = SecureRandom.uuid
68
- @client_project = @client.create_project(title: 'client_1 project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
69
- @segment_client = @segment.create_client(id: "tenant_#{client_id}", project: @client_project)
70
- end
71
-
72
- after(:all) do
73
- @client_project && @client_project.delete
74
- end
75
-
76
- it 'Dissociate particular client and their project is not cleaned up' do
77
- expect(@segment.clients.count).to eq 1
78
- s = @segment.clients(@segment_client)
79
- s.dissociate
80
- expect(@segment.clients.count).to eq 0
81
- expect(@client_project.reload!.state).to eq :enabled
82
- @segment_client = nil
83
- end
84
- end
85
-
86
- describe '#delete' do
87
- before(:all) do
88
- client_id = SecureRandom.uuid
89
- @client_project = @client.create_project(title: 'client_1 project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
90
- @segment_client = @segment.create_client(id: "tenant_#{client_id}", project: @client_project)
91
- end
92
-
93
- it 'Deletes particular client. Project is cleaned up as well' do
94
- expect(@segment.clients.count).to eq 1
95
- s = @segment.clients(@segment_client)
96
- s.delete
97
- expect(@segment.clients.count).to eq 0
98
- expect(@client_project.reload!.state).to eq :deleted
99
- @segment_client = nil
100
- end
101
- end
102
-
103
- describe '#settings' do
104
- before(:all) do
105
- @segment_client = @segment.create_client(id: "tenant_#{SecureRandom.uuid}", project: @client_project)
106
- end
107
-
108
- it 'can create/update setting' do
109
- expect(@segment_client.settings).to eq []
110
-
111
- GoodData::Client.add_setting('lcm.token', 'XXX-lcm-token-XXX', domain: @domain, client_id: @segment_client.client_id)
112
- expect(@segment_client.settings).to eq [{ name: 'lcm.token', value: 'XXX-lcm-token-XXX' }]
113
-
114
- GoodData::Client.update_setting('lcm.token', 'XXX-lcm-token-XXX-(updated)', domain: @domain, client_id: @segment_client.client_id)
115
- expect(@segment_client.settings).to eq [{ name: 'lcm.token', value: 'XXX-lcm-token-XXX-(updated)' }]
116
- end
117
-
118
- after(:all) do
119
- @segment_client && @segment_client.delete
120
- end
121
- end
122
-
123
- describe '#save' do
124
- before(:all) do
125
- @client_id = SecureRandom.uuid
126
- @client_project = @client.create_project(title: 'client_1 project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
127
- @segment_client = @segment.create_client(id: "tenant_#{@client_id}", project: @client_project)
128
- end
129
-
130
- it 'can update project id' do
131
- begin
132
- other_client_project = @client.create_project(title: "client_#{@client_id} other project", auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
133
- @segment_client.project = other_client_project
134
- @segment_client.save
135
- expect(@segment.clients(@segment_client).project_uri).to eq other_client_project.uri
136
- ensure
137
- other_client_project && other_client_project.delete
138
- end
139
- end
140
-
141
- it 'throws error when trying to update tenants segment id' do
142
- second_segment_name = "segment-#{SecureRandom.uuid}"
143
- second_master_project = @client.create_project(title: 'Test project', auth_token: ConnectionHelper::GD_PROJECT_TOKEN)
144
- second_segment = @domain.create_segment(segment_id: second_segment_name, master_project: second_master_project)
145
- @segment_client.segment = second_segment
146
-
147
- expect do
148
- @segment_client.save
149
- end.to raise_error(RestClient::BadRequest)
150
- end
151
-
152
- it 'cannot update a client id' do
153
- @segment_client.client_id = 'different_id'
154
- expect do
155
- @segment_client.save
156
- end.to raise_error RestClient::BadRequest
157
- end
158
-
159
- after(:all) do
160
- @segment_client && @segment_client.delete
161
- @client_project && @client_project.delete
162
- end
163
- end
164
- 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/commands/datawarehouse'
8
-
9
- describe GoodData::Command::DataWarehouse do
10
- before(:each) do
11
- @client = ConnectionHelper.create_default_connection
12
- end
13
-
14
- after(:each) do
15
- @client.disconnect
16
- end
17
-
18
- it "Is Possible to create GoodData::Command::DataWarehouse instance" do
19
- cmd = GoodData::Command::DataWarehouse.new
20
- cmd.should be_a(GoodData::Command::DataWarehouse)
21
- end
22
-
23
- it "Can create a data warehouse", broken: true do
24
- title = 'my warehouse'
25
- summary = 'hahahaha'
26
- dwh = nil
27
-
28
- begin
29
- dwh = GoodData::Command::DataWarehouse.create(
30
- title: title,
31
- summary: summary,
32
- token: ConnectionHelper::GD_PROJECT_TOKEN,
33
- environment: ProjectHelper::ENVIRONMENT,
34
- client: @client
35
- )
36
-
37
- expect(dwh.title).to eq(title)
38
- expect(dwh.summary).to eq(summary)
39
- expect(dwh.id).not_to be_nil
40
- expect(dwh.status).to eq('ENABLED')
41
- ensure
42
- dwh.delete if dwh
43
- end
44
- end
45
- end
@@ -1,32 +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
- require 'gooddata/commands/project'
9
-
10
- describe GoodData::Command::Project, :constraint => 'slow' do
11
- before(:all) do
12
- @client = ConnectionHelper.create_default_connection
13
-
14
- @blueprint = GoodData::Model::ProjectBlueprint.from_json("./spec/data/blueprints/test_project_model_spec.json")
15
- @module_blueprint = GoodData::Model::ProjectBlueprint.from_json("./spec/data/blueprints/additional_dataset_module.json")
16
- @project = GoodData::Command::Project.build(:spec => @blueprint, :token => ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT, :client => @client)
17
- end
18
-
19
- after(:all) do
20
- @project.delete unless @project.nil?
21
- @client.disconnect
22
- end
23
-
24
- it "should update the project" do
25
- @blueprint.merge!(@module_blueprint)
26
- expect(@project.blueprint.datasets.count).to eq(3)
27
- expect(@project.blueprint.datasets(:all, :include_date_dimensions => true).count).to eq(4)
28
- @project.update_from_blueprint(@blueprint)
29
- expect(@project.blueprint.datasets.count).to eq(4)
30
- expect(@project.blueprint.datasets(:all, :include_date_dimensions => true).count).to eq(5)
31
- end
32
- 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/commands/project'
8
-
9
- describe GoodData::Command::Project do
10
- before(:each) do
11
- @client = ConnectionHelper.create_default_connection
12
- end
13
-
14
- after(:each) do
15
- @client.disconnect
16
- end
17
-
18
- it "Is Possible to create GoodData::Command::Project instance" do
19
- cmd = GoodData::Command::Project.new
20
- cmd.should be_a(GoodData::Command::Project)
21
- end
22
- end