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,127 +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/domain'
8
- require 'gooddata/models/membership'
9
- require 'gooddata/models/project_role'
10
-
11
- describe GoodData::Membership do
12
- before(:all) do
13
- @client = ConnectionHelper.create_default_connection
14
-
15
- @users = [
16
- @client.create(
17
- GoodData::Membership,
18
- 'user' => {
19
- 'content' => {
20
- 'email' => 'petr.cvengros@gooddata.com',
21
- 'firstname' => 'Petr',
22
- 'lastname' => 'Cvengros'
23
- },
24
- 'meta' => {}
25
- }
26
- ),
27
-
28
- GoodData::Membership.new(
29
- 'user' => {
30
- 'content' => {
31
- 'email' => 'tomas.korcak@gooddata.com',
32
- 'firstname' => 'Tomas',
33
- 'lastname' => 'Korcak'
34
- },
35
- 'meta' => {}
36
- }
37
- ),
38
-
39
- @client.create(
40
- GoodData::Membership,
41
- 'user' => {
42
- 'content' => {
43
- 'email' => 'patrick.mcconlogue@gooddata.com',
44
- 'firstname' => 'Patrick',
45
- 'lastname' => 'McConlogue'
46
- },
47
- 'meta' => {}
48
- }
49
- ),
50
-
51
- @client.create(
52
- GoodData::Membership,
53
- 'user' => {
54
- 'content' => {
55
- 'email' => 'tomas.svarovsky@gooddata.com',
56
- 'firstname' => 'Tomas',
57
- 'lastname' => 'Svarovsky'
58
- },
59
- 'meta' => {}
60
- }
61
- )
62
- ]
63
- end
64
-
65
- after(:all) do
66
- @client.disconnect
67
- end
68
-
69
- describe '#diff_list' do
70
- it 'Returns empty diff for same arrays' do
71
- l1 = [
72
- @users[0]
73
- ]
74
-
75
- l2 = [
76
- @users[0]
77
- ]
78
-
79
- diff = GoodData::Membership.diff_list(l1, l2)
80
- diff[:added].length.should eql(0)
81
- diff[:changed].length.should eql(0)
82
- diff[:removed].length.should eql(0)
83
- end
84
-
85
- it 'Recognizes added element' do
86
- l1 = []
87
-
88
- l2 = [
89
- @users[0]
90
- ]
91
-
92
- diff = GoodData::Membership.diff_list(l1, l2)
93
- diff[:added].length.should eql(1)
94
- diff[:changed].length.should eql(0)
95
- diff[:removed].length.should eql(0)
96
- end
97
-
98
- it 'Recognizes changed element' do
99
- l1 = [
100
- @users[0]
101
- ]
102
-
103
- l2 = [
104
- GoodData::Membership.new(GoodData::Helpers.deep_dup(@users[0].json))
105
- ]
106
- l2[0].first_name = 'Peter'
107
-
108
- diff = GoodData::Membership.diff_list(l1, l2)
109
- diff[:added].length.should eql(0)
110
- diff[:changed].length.should eql(1)
111
- diff[:removed].length.should eql(0)
112
- end
113
-
114
- it 'Recognizes removed element' do
115
- l1 = [
116
- @users[0]
117
- ]
118
-
119
- l2 = []
120
-
121
- diff = GoodData::Membership.diff_list(l1, l2)
122
- diff[:added].length.should eql(0)
123
- diff[:changed].length.should eql(0)
124
- diff[:removed].length.should eql(1)
125
- end
126
- end
127
- end
@@ -1,54 +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::Report, :constraint => 'slow' do
10
- before(:all) do
11
- @client = ConnectionHelper.create_default_connection
12
- @project, @blueprint = ProjectHelper.load_full_project_implementation(@client)
13
-
14
- m = @project.facts.first.create_metric
15
- metric_name = Dir::Tmpname.make_tmpname ['metric.some_metric'], nil
16
- metric_name.delete!('-')
17
- m.identifier = metric_name
18
- m.save
19
-
20
- test_data = [
21
- %w(lines_changed committed_on dev_id repo_id),
22
- [3, "05/01/2012", 1_012, 75],
23
- [2, "11/10/2014", 5_432, 23],
24
- [5, "01/10/2014", 45_212, 87_163],
25
- [1, "12/02/2017", 753, 11]
26
- ]
27
- @project.upload(test_data, @blueprint, 'dataset.commits')
28
-
29
- m = @project.metrics.first
30
- @report = @project.create_report(top: [m], title: 'Report to export')
31
- @report.save
32
- end
33
-
34
- after(:all) do
35
- @project.delete unless @project.nil?
36
- @client.disconnect
37
- end
38
-
39
- describe 'raw export' do
40
- before :each do
41
- @filename = Dir::Tmpname.make_tmpname([File.join(Dir::Tmpname.tmpdir, 'test_raw_export'), '.csv'], nil)
42
- end
43
-
44
- after :each do
45
- File.delete(@filename)
46
- end
47
-
48
- it "exports raw report" do
49
- @report.export_raw(@filename)
50
- expect(File).to exist(@filename)
51
- expect(File.read(@filename)).to eq("\"sum of Lines Changed\"\r\n\"11.00\"\r\n")
52
- end
53
- end
54
- end
@@ -1,24 +0,0 @@
1
- require 'gooddata'
2
-
3
- describe GoodData::Metric, :vcr do
4
- before(:all) do
5
- @rest_client = ConnectionHelper.create_default_connection
6
- @project, * = ProjectHelper.load_full_project_implementation(@rest_client)
7
- @folder = GoodData::Folder.create(project: @project, client: @rest_client, title: 'aaa', type: 'metric')
8
- @folder.save.reload!
9
- @metric = @project.attributes.to_a.first.create_metric
10
- @metric.save.reload!
11
- end
12
-
13
- it 'should be able to update folders' do
14
- @metric.folders = [@folder.uri]
15
- @metric.save.reload!
16
- expect(@metric.folders).to eq([@folder.uri])
17
- end
18
-
19
- after(:all) do
20
- @metric.delete if @metric
21
- @folder.delete if @folder
22
- @project.delete if @project
23
- end
24
- end
@@ -1,118 +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/profile'
8
- require 'gooddata/models/domain'
9
- require 'gooddata/models/project'
10
-
11
- describe 'GoodData::Schedule::Params' do
12
- before(:all) do
13
- @deploy_dir = File.join(File.dirname(__FILE__), '..', '..', 'data/cc')
14
- @graph_path = 'graph.grf'
15
-
16
- @client = ConnectionHelper.create_default_connection
17
- @project = ProjectHelper.get_default_project
18
-
19
- @process = @project.deploy_process('./spec/data/cc/graph/graph.grf',
20
- type: 'GRAPH',
21
- name: 'Test ETL Process')
22
- end
23
-
24
- after(:all) do
25
- @process.delete
26
- @client.disconnect
27
- end
28
-
29
- describe 'params' do
30
- it 'Works with params' do
31
- params = {
32
- :test => '1234'
33
- }
34
-
35
- begin
36
- schedule = @process.create_schedule("0 12 * * *", @graph_path, params: params)
37
- expect(schedule).to be_truthy
38
- ensure
39
- schedule && schedule.delete
40
- end
41
- end
42
-
43
- it 'Works with nested params' do
44
- params = {
45
- :test => '1234',
46
- :nested => {
47
- :name => 'joe'
48
- }
49
- }
50
-
51
- begin
52
- schedule = @process.create_schedule("0 12 * * *", @graph_path, params: params)
53
- expect(schedule).to be_truthy
54
- ensure
55
- schedule && schedule.delete
56
- end
57
- end
58
-
59
- it 'Works with array in params' do
60
- params = {
61
- :test => '1234',
62
- :array => [1, 2, 3, 4, 5]
63
- }
64
-
65
- begin
66
- schedule = @process.create_schedule("0 12 * * *", @graph_path, params: params)
67
- expect(schedule).to be_truthy
68
- ensure
69
- schedule && schedule.delete
70
- end
71
- end
72
- end
73
-
74
- describe 'hiddenParams' do
75
- it 'Works with hiddenParams' do
76
- params = {
77
- :test => '1234'
78
- }
79
-
80
- begin
81
- schedule = @process.create_schedule("0 12 * * *", @graph_path, hiddenParams: params)
82
- expect(schedule).to be_truthy
83
- ensure
84
- schedule && schedule.delete
85
- end
86
- end
87
-
88
- it 'Works with nested hiddenParams' do
89
- params = {
90
- :test => '1234',
91
- :nested => {
92
- :name => 'joe'
93
- }
94
- }
95
-
96
- begin
97
- schedule = @process.create_schedule("0 12 * * *", @graph_path, hiddenParams: params)
98
- expect(schedule).to be_truthy
99
- ensure
100
- schedule && schedule.delete
101
- end
102
- end
103
-
104
- it 'Works with array in hiddenParams' do
105
- params = {
106
- :test => '1234',
107
- :array => [1, 2, 3, 4, 5]
108
- }
109
-
110
- begin
111
- schedule = @process.create_schedule("0 12 * * *", @graph_path, hiddenParams: params)
112
- expect(schedule).to be_truthy
113
- ensure
114
- schedule && schedule.delete
115
- end
116
- end
117
- end
118
- end
@@ -1,35 +0,0 @@
1
- # encoding: UTF-8
2
- #
3
- # Copyright (c) 2010-2018 GoodData Corporation. All rights reserved.
4
- # This source code is licensed under the BSD-style license found in the
5
- # LICENSE file in the root directory of this source tree.
6
-
7
- require 'gooddata'
8
-
9
- describe GoodData::Process do
10
- before(:all) do
11
- @rest_client = ConnectionHelper.create_default_connection
12
- @suffix = AppstoreProjectHelper.suffix
13
- @project = ProjectHelper.get_default_project client: @rest_client
14
- end
15
-
16
- describe '.deploy_component' do
17
- let(:name) { 'test component' }
18
-
19
- it 'deploys etl pluggable component' do
20
- component_data = {
21
- name: name,
22
- type: :etl,
23
- component: {
24
- name: 'gdc-etl-sql-executor',
25
- version: '1'
26
- }
27
- }
28
- component = GoodData::Process.deploy_component component_data,
29
- client: @rest_client,
30
- project: @project
31
- expect(component.name).to eq name
32
- expect(component.type).to eq :etl
33
- end
34
- end
35
- end
@@ -1,210 +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/profile'
8
- require 'gooddata/models/domain'
9
- require 'gooddata/models/project'
10
-
11
- describe GoodData::Profile do
12
- before(:each) do
13
- @client = ConnectionHelper.create_default_connection
14
- @domain = @client.domain(ConnectionHelper::DEFAULT_DOMAIN)
15
-
16
- @user1 = @domain.get_user(ConnectionHelper::DEFAULT_USERNAME)
17
- @user2 = @domain.get_user(ConnectionHelper::DEFAULT_USERNAME)
18
-
19
- @users = [
20
- @client.create(
21
- GoodData::Profile,
22
- 'accountSetting' => {
23
- 'email' => 'petr.cvengros@gooddata.com',
24
- 'firstName' => 'Petr',
25
- 'lastName' => 'Cvengros'
26
- }
27
- ),
28
-
29
- @client.create(
30
- GoodData::Profile,
31
- 'accountSetting' => {
32
- 'email' => 'tomas.korcak@gooddata.com',
33
- 'firstName' => 'Tomas',
34
- 'lastName' => 'Korcak'
35
- }
36
- ),
37
-
38
- @client.create(
39
- GoodData::Profile,
40
- 'accountSetting' => {
41
- 'email' => 'patrick.mcconlogue@gooddata.com',
42
- 'firstName' => 'Patrick',
43
- 'lastName' => 'McConlogue'
44
-
45
- }
46
- ),
47
-
48
- @client.create(
49
- GoodData::Profile,
50
- 'accountSetting' => {
51
- 'email' => 'tomas.svarovsky@gooddata.com',
52
- 'firstName' => 'Tomas',
53
- 'lastName' => 'Svarovsky'
54
- }
55
- )
56
- ]
57
- end
58
-
59
- after(:all) do
60
- @client && @client.disconnect
61
- end
62
-
63
- describe '#[]' do
64
- it 'Finds the profile by URL' do
65
- project = ProjectHelper.get_default_project
66
- users = project.users
67
- user = GoodData::Profile[users.first.uri, :client => @client]
68
- expect(user).to be_kind_of(GoodData::Profile)
69
- end
70
-
71
- it 'Finds the profile by ID' do
72
- project = ProjectHelper.get_default_project
73
- users = project.users
74
- user = GoodData::Profile[users.first.uri.split('/').last, :client => @client]
75
- expect(user).to be_kind_of(GoodData::Profile)
76
- end
77
- end
78
-
79
- describe '#==' do
80
- it 'Returns true for same objects' do
81
- expect(@user1).to eq @user2
82
- expect(@user1.to_hash).to eq @user2.to_hash
83
- end
84
-
85
- it 'Returns false for different objects' do
86
- # Do some little modification
87
- @user2.first_name = 'kokos'
88
- expect(@user1).not_to eq @user2
89
- expect(@user1.to_hash).not_to eq @user2.to_hash
90
- end
91
- end
92
-
93
- describe '#!=' do
94
- it 'Returns false for same objects' do
95
- res = @user1 != @user2
96
- res.should be_falsey
97
- end
98
-
99
- it 'Returns true for different objects' do
100
- # Do some little modification
101
- @user2.first_name = 'kokos'
102
-
103
- res = @user1 != @user2
104
- res.should be_truthy
105
- end
106
- end
107
-
108
- describe '#apply' do
109
- it 'When diff of two objects applied to first result should be same as second object' do
110
- # Do some little modification
111
- @user2.first_name = 'kokos'
112
- expect(@user1).not_to eq @user2
113
-
114
- diff = @user1.diff(@user2)
115
- expect(diff).to be_instance_of(Hash)
116
-
117
- updated_user = GoodData::Profile.create_object(@user1.to_hash.merge(diff))
118
-
119
- expect(updated_user.first_name).to eq @user2.first_name
120
- expect(@user2).not_to eq updated_user
121
- end
122
- end
123
-
124
- describe '#diff' do
125
- it 'Returns empty hash for same objects' do
126
- res = @user1.diff(@user2)
127
- expect(res).to be_instance_of(Hash)
128
- res.length.should eql(0)
129
- end
130
-
131
- it 'Returns non empty hash for different objects' do
132
- # Do some little modification
133
- @user2.first_name = 'kokos'
134
-
135
- res = @user1.diff(@user2)
136
- expect(res).to be_instance_of(Hash)
137
- res.length.should_not eql(0)
138
- end
139
- end
140
-
141
- describe '#diff_list' do
142
- it 'Returns empty diff for same arrays' do
143
- l1 = [
144
- @users[0]
145
- ]
146
-
147
- l2 = [
148
- @users[0]
149
- ]
150
-
151
- diff = GoodData::Profile.diff_list(l1, l2)
152
- diff[:added].length.should eql(0)
153
- diff[:changed].length.should eql(0)
154
- diff[:removed].length.should eql(0)
155
- end
156
-
157
- it 'Recognizes added element' do
158
- l1 = []
159
-
160
- l2 = [
161
- @users[0]
162
- ]
163
-
164
- diff = GoodData::Profile.diff_list(l1, l2)
165
- diff[:added].length.should eql(1)
166
- diff[:changed].length.should eql(0)
167
- diff[:removed].length.should eql(0)
168
- end
169
-
170
- it 'Recognizes changed element' do
171
- l1 = [
172
- @users[0]
173
- ]
174
-
175
- l2 = [
176
- GoodData::Profile.new(GoodData::Helpers.deep_dup(@users[0].json))
177
- ]
178
- l2[0].first_name = 'Peter'
179
-
180
- diff = GoodData::Profile.diff_list(l1, l2)
181
- diff[:added].length.should eql(0)
182
- diff[:changed].length.should eql(1)
183
- diff[:removed].length.should eql(0)
184
- end
185
-
186
- it 'Recognizes removed element' do
187
- l1 = [
188
- @users[0]
189
- ]
190
-
191
- l2 = []
192
-
193
- diff = GoodData::Profile.diff_list(l1, l2)
194
- diff[:added].length.should eql(0)
195
- diff[:changed].length.should eql(0)
196
- diff[:removed].length.should eql(1)
197
- end
198
- end
199
-
200
- describe '#projects' do
201
- it 'Returns user projects as array of GoodData::Project' do
202
- projects = @user1.projects
203
- expect(projects).to be_an_instance_of(Array)
204
-
205
- projects.each do |project|
206
- expect(project).to be_an_instance_of(GoodData::Project)
207
- end
208
- end
209
- end
210
- end