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,214 +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 'tempfile'
8
-
9
- require 'gooddata/core/rest'
10
-
11
- describe GoodData do
12
- before(:each) do
13
- @client = ConnectionHelper.create_default_connection
14
- # @project = ProjectHelper.get_default_project(:client => @client)
15
- @project = @client.create_project(title: 'Project for schedule testing', auth_token: ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
16
- end
17
-
18
- after(:each) do
19
- @project && @project.delete
20
- @client.disconnect
21
- end
22
-
23
- describe '#project_webdav_path' do
24
- it 'Returns path' do
25
- @client.project_webdav_path(:project => @project)
26
- end
27
- end
28
-
29
- def test_webdav_upload(params)
30
- GoodData.with_project(@project, :client => @client) do
31
- # use current timestamp as a directory name on webdav
32
- dir = params[:no_dir] ? nil : Time.now.to_i.to_s
33
- dir = "#{dir}/#{dir}" if params[:nested_dir]
34
- dir = "#{dir}/" if params[:slash_in_dir]
35
-
36
- # local file path
37
- path = 'spec/data/test-ci-data.csv'
38
-
39
- if params[:special_chars]
40
- source_file = Tempfile.new('abc-16:55:29+ha#he.csv')
41
- FileUtils.cp(path, source_file)
42
- path = source_file.path
43
- end
44
-
45
- path = File.expand_path(path) if params[:absolute_path]
46
-
47
- # upload it there
48
- upload_method = GoodData.method(params[:upload_method])
49
- upload_method.call(path, directory: dir)
50
-
51
- # download it from there
52
- temp_file = Tempfile.new('foo.csv')
53
- expect(temp_file.size).to be == 0
54
-
55
- download_method = GoodData.method(params[:download_method])
56
-
57
- file_basename = File.basename(path)
58
- file_basename = "NOTTHERE_#{file_basename}" if params[:unknown_file]
59
-
60
- download_block = proc do
61
- if params[:path_in_file]
62
- # pass the dir directly in the first param
63
- # e.g. GoodData.download_from_project_webdav('1234/test-ci-data.csv', '/tmp/myfile.csv')
64
- download_method.call(File.join(dir, file_basename).to_s, temp_file)
65
- else
66
- # pass the dir in the :directory option
67
- # e.g. GoodData.download_from_project_webdav('test-ci-data.csv', '/tmp/myfile.csv', :directory => '1234')
68
- download_method.call(file_basename, temp_file, directory: dir)
69
- end
70
- end
71
-
72
- # if it's unknown it should raise an error, otherwise it should download the right stuff
73
- if params[:unknown_file]
74
- expect do
75
- download_block.call
76
- end.to raise_error(ArgumentError)
77
- else
78
- download_block.call
79
-
80
- expect(temp_file.size).to be > 0
81
-
82
- # expect the contents of the original file and the downloaded file are the same
83
- expect(IO.read(temp_file)).to be == IO.read(path)
84
- end
85
- end
86
- end
87
-
88
- describe '#download_from_project_webdav' do
89
- it "Works with directory directly in the 'file' param for project" do
90
- test_webdav_upload(
91
- upload_method: 'upload_to_project_webdav',
92
- download_method: 'download_from_project_webdav',
93
- path_in_file: true
94
- )
95
- end
96
- it "Works with directory directly in the 'file' param for user" do
97
- test_webdav_upload(
98
- upload_method: 'upload_to_user_webdav',
99
- download_method: 'download_from_user_webdav',
100
- path_in_file: true
101
- )
102
- end
103
- it "Works with directories with slash at the end for project" do
104
- test_webdav_upload(
105
- upload_method: 'upload_to_project_webdav',
106
- download_method: 'download_from_project_webdav',
107
- slash_in_dir: true
108
- )
109
- end
110
- it "Works with directories with slash at the end for user" do
111
- test_webdav_upload(
112
- upload_method: 'upload_to_user_webdav',
113
- download_method: 'download_from_user_webdav',
114
- slash_in_dir: true
115
- )
116
- end
117
- it "Fails for non-existing file for project" do
118
- test_webdav_upload(
119
- upload_method: 'upload_to_project_webdav',
120
- download_method: 'download_from_project_webdav',
121
- unknown_file: true
122
- )
123
- end
124
- it "Fails for non-existing file for user" do
125
- test_webdav_upload(
126
- upload_method: 'upload_to_user_webdav',
127
- download_method: 'download_from_user_webdav',
128
- unknown_file: true
129
- )
130
- end
131
- it 'Works with nested directories for project' do
132
- test_webdav_upload(
133
- upload_method: 'upload_to_project_webdav',
134
- download_method: 'download_from_project_webdav',
135
- nested_dir: true
136
- )
137
- end
138
- it 'Works with nested directories for user' do
139
- test_webdav_upload(
140
- upload_method: 'upload_to_user_webdav',
141
- download_method: 'download_from_user_webdav',
142
- nested_dir: true
143
- )
144
- end
145
- it 'Works with no directory for user' do
146
- test_webdav_upload(
147
- upload_method: 'upload_to_user_webdav',
148
- download_method: 'download_from_user_webdav',
149
- no_dir: true
150
- )
151
- end
152
- it 'Works with no directory for project' do
153
- test_webdav_upload(
154
- upload_method: 'upload_to_project_webdav',
155
- download_method: 'download_from_project_webdav',
156
- no_dir: true
157
- )
158
- end
159
- end
160
- describe '#upload_to_project_webdav' do
161
- it 'Uploads file with relative path to a dir' do
162
- test_webdav_upload(
163
- upload_method: 'upload_to_project_webdav',
164
- download_method: 'download_from_project_webdav'
165
- )
166
- end
167
-
168
- it 'Uploads file with absolute path to a dir' do
169
- test_webdav_upload(
170
- absolute_path: true,
171
- upload_method: 'upload_to_project_webdav',
172
- download_method: 'download_from_project_webdav'
173
- )
174
- end
175
-
176
- it 'Uploads file with special chars in filename' do
177
- test_webdav_upload(
178
- special_chars: true,
179
- upload_method: 'upload_to_project_webdav',
180
- download_method: 'download_from_project_webdav'
181
- )
182
- end
183
- end
184
-
185
- describe '#upload_to_user_webdav' do
186
- it 'Uploads file with relative path to a dir' do
187
- test_webdav_upload(
188
- upload_method: 'upload_to_user_webdav',
189
- download_method: 'download_from_user_webdav'
190
- )
191
- end
192
-
193
- it 'Uploads file with absolute path to a dir' do
194
- test_webdav_upload(
195
- absolute_path: true,
196
- upload_method: 'upload_to_user_webdav',
197
- download_method: 'download_from_user_webdav'
198
- )
199
- end
200
- it 'Uploads file with special chars in filename' do
201
- test_webdav_upload(
202
- special_chars: true,
203
- upload_method: 'upload_to_user_webdav',
204
- download_method: 'download_from_user_webdav'
205
- )
206
- end
207
- end
208
-
209
- describe '#user_webdav_path' do
210
- it 'Gets the path' do
211
- expect(@client.user_webdav_path).to eq GoodData::Environment::ConnectionHelper::STAGING_URI
212
- end
213
- end
214
- end
@@ -1,611 +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/schedule'
8
- require 'gooddata/helpers/global_helpers'
9
-
10
- describe GoodData::Schedule do
11
- SCHEDULE_ID = ScheduleHelper::SCHEDULE_ID
12
- SCHEDULE_URL = "/gdc/projects/#{ProjectHelper::PROJECT_ID}/schedules/#{SCHEDULE_ID}"
13
-
14
- before(:each) do
15
- @client = ConnectionHelper.create_default_connection
16
-
17
- @project = ProjectHelper.get_default_project(:client => @client)
18
- @test_cron = '0 15 27 7 *'
19
- @test_data = {
20
- :timezone => 'UTC',
21
- :cron => '2 2 2 2 *',
22
- :client => @client,
23
- :project => @project,
24
- :params => {
25
- 'a' => 'b',
26
- 'b' => 'c'
27
- }
28
- }
29
-
30
- @test_data_with_optional_param = {
31
- :timezone => 'UTC',
32
- :cron => '2 2 2 2 *',
33
- :reschedule => 15,
34
- :client => @client,
35
- :project => @project
36
- }
37
- end
38
-
39
- after(:each) do
40
- @client.disconnect
41
- end
42
-
43
- describe '#[]' do
44
- it 'Returns all schedules when :all passed' do
45
- res = @project.schedules
46
- res.should_not be_nil
47
- res.should be_a_kind_of(Array)
48
- res.each do |schedule|
49
- schedule.should be_a_kind_of(GoodData::Schedule)
50
- end
51
- end
52
-
53
- it 'Returns specific schedule when schedule ID passed' do
54
- res = @project.schedules(SCHEDULE_ID)
55
- res.should_not be_nil
56
- res.should be_a_kind_of(GoodData::Schedule)
57
- end
58
-
59
- it 'Returns specific schedule when schedule URL passed' do
60
- res = @project.schedules(SCHEDULE_ID)
61
- res.should_not be_nil
62
- res.should be_a_kind_of(GoodData::Schedule)
63
- end
64
- end
65
-
66
- describe '#all' do
67
- it 'Returns all schedules' do
68
- res = @project.schedules
69
- res.should_not be_nil
70
- res.should be_a_kind_of(Array)
71
- res.each do |schedule|
72
- schedule.should be_a_kind_of(GoodData::Schedule)
73
- end
74
- end
75
- end
76
-
77
- describe '#create' do
78
- it 'Creates new schedule if mandatory params passed' do
79
- begin
80
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
81
- expect(schedule).to be_truthy
82
- ensure
83
- schedule && schedule.delete
84
- end
85
- end
86
-
87
- it 'Creates new schedule if mandatory params passed and optional params are present' do
88
- begin
89
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
90
- expect(schedule).to be_truthy
91
- ensure
92
- schedule && schedule.delete
93
- end
94
- end
95
-
96
- it 'Throws exception when no process ID specified' do
97
- schedule = nil
98
- begin
99
- expect do
100
- schedule = @project.create_schedule(nil, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
101
- end.to raise_error 'Process ID has to be provided'
102
- ensure
103
- schedule && schedule.delete
104
- end
105
- end
106
-
107
- it 'Throws exception when no executable specified' do
108
- schedule = nil
109
- begin
110
- expect do
111
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, nil, @test_data)
112
- end.to raise_error 'Executable has to be provided'
113
- ensure
114
- schedule && schedule.delete
115
- end
116
- end
117
-
118
- it 'Works when no cron or schedule is specified' do
119
- data = GoodData::Helpers.deep_dup(@test_data)
120
- data[:cron] = nil
121
- schedule = nil
122
- begin
123
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, nil, ProcessHelper::DEPLOY_NAME, data)
124
- ensure
125
- schedule && schedule.delete
126
- end
127
- end
128
-
129
- it 'Throws exception when no timezone specified' do
130
- data = GoodData::Helpers.deep_dup(@test_data)
131
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, data)
132
- schedule.timezone = nil
133
- begin
134
- expect do
135
- schedule.save
136
- end.to raise_error 'A timezone has to be provided'
137
- ensure
138
- schedule && schedule.delete
139
- end
140
- end
141
-
142
- it 'Throws exception when no schedule type is specified' do
143
- schedule = nil
144
- data = GoodData::Helpers.deep_dup(@test_data)
145
- begin
146
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, data)
147
- schedule.type = nil
148
- expect do
149
- schedule.save
150
- end.to raise_error 'Schedule type has to be provided'
151
- ensure
152
- schedule && schedule.delete
153
- end
154
- end
155
- end
156
-
157
- describe '#cron' do
158
- it 'Should return cron as string' do
159
- begin
160
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
161
- res = schedule.cron
162
- res.should_not be_nil
163
- res.should_not be_empty
164
- res.should be_a_kind_of(String)
165
- expect(schedule.time_based?).to be_truthy
166
- ensure
167
- schedule && schedule.delete
168
- end
169
- end
170
- end
171
-
172
- describe '#cron=' do
173
- it 'Assigns the cron and marks the object dirty' do
174
- test_cron = '2 2 2 2 *'
175
-
176
- begin
177
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
178
- schedule.cron = test_cron
179
- expect(schedule.cron).to eq(test_cron)
180
- expect(schedule.dirty).to eq(true)
181
- ensure
182
- schedule && schedule.delete
183
- end
184
- end
185
- end
186
-
187
- describe '#executable' do
188
- it 'Should return executable as string' do
189
- begin
190
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
191
- res = schedule.executable
192
- res.should_not be_nil
193
- res.should_not be_empty
194
- res.should be_a_kind_of(String)
195
- ensure
196
- schedule && schedule.delete
197
- end
198
- end
199
- end
200
-
201
- describe '#executable=' do
202
- it 'Assigns the executable and marks the object dirty' do
203
- test_executable = 'this/is/test.grf'
204
-
205
- begin
206
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
207
- schedule.executable = test_executable
208
- expect(schedule.executable).to eq(test_executable)
209
- expect(schedule.dirty).to eq(true)
210
- ensure
211
- schedule && schedule.delete
212
- end
213
- end
214
- end
215
-
216
- describe '#execute' do
217
- it 'Waits for execution result by default' do
218
- begin
219
- process = @project.deploy_process(
220
- './spec/data/gooddata_version_process/gooddata_version.zip',
221
- type: 'RUBY',
222
- name: 'Test ETL zipped file GoodData Process'
223
- )
224
- schedule = process.create_schedule('0 15 27 7 *', process.executables.first)
225
- res = schedule.execute
226
- expect(res).to be_an_instance_of(GoodData::Execution)
227
- expect([:ok, :error].include?(res.status)).to be_truthy
228
- ensure
229
- schedule && schedule.delete
230
- process && process.delete
231
- end
232
- end
233
-
234
- it 'can be overridden to do not wait for execution result' do
235
- begin
236
- process = @project.deploy_process('./spec/data/gooddata_version_process/gooddata_version.zip',
237
- type: 'RUBY',
238
- name: 'Test ETL zipped file GoodData Process')
239
- schedule = process.create_schedule('0 15 27 7 *', process.executables.first)
240
- res = schedule.execute(:wait => false)
241
- expect(res).to be_an_instance_of(GoodData::Execution)
242
- expect([:scheduled, :running].include?(res.status)).to be_truthy
243
- ensure
244
- schedule && schedule.delete
245
- process && process.delete
246
- end
247
- end
248
- end
249
-
250
- describe '#execution_url' do
251
- it 'Should return execution URL as string' do
252
- begin
253
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
254
- res = schedule.execution_url
255
- res.should_not be_nil
256
- res.should_not be_empty
257
- res.should be_a_kind_of(String)
258
- ensure
259
- schedule && schedule.delete
260
- end
261
- end
262
- end
263
-
264
- describe '#type' do
265
- it 'Should return execution type as string' do
266
- begin
267
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
268
- res = schedule.type
269
- res.should_not be_nil
270
- res.should be_a_kind_of(String)
271
- ensure
272
- schedule && schedule.delete
273
- end
274
- end
275
- end
276
-
277
- describe '#hidden_params' do
278
- it 'Should return execution hidden_params as hash' do
279
- begin
280
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
281
- res = schedule.hidden_params
282
- res.should_not be_nil
283
- res.should be_a_kind_of(Hash)
284
- ensure
285
- schedule && schedule.delete
286
- end
287
- end
288
- end
289
-
290
- describe '#hidden_params=' do
291
- it 'Assigns the hidden params and marks the object dirty' do
292
- begin
293
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
294
- old_params = schedule.hidden_params
295
-
296
- test_params = {
297
- 'PROCESS_ID' => '1-2-3-4'
298
- }
299
-
300
- schedule.hidden_params = test_params
301
- expect(schedule.hidden_params).to eq(old_params.merge(test_params))
302
- expect(schedule.dirty).to eq(true)
303
- ensure
304
- schedule && schedule.delete
305
- end
306
- end
307
- end
308
-
309
- describe '#set_hidden_parameter' do
310
- it 'Assigns the hidden parameter and marks the object dirty' do
311
- begin
312
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
313
- old_params = schedule.hidden_params
314
-
315
- test_parameter = { 'test_parameter' => 'just_testing' }
316
- schedule.set_hidden_parameter(test_parameter.keys.first, test_parameter.values.first)
317
- expect(schedule.hidden_params).to eq(old_params.merge(test_parameter))
318
- expect(schedule.dirty).to eq(true)
319
- ensure
320
- schedule && schedule.delete
321
- end
322
- end
323
- end
324
-
325
- describe '#set_parameter' do
326
- it 'Assigns the hidden parameter and marks the object dirty' do
327
- begin
328
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
329
- old_params = schedule.params
330
-
331
- test_parameter = { 'test_parameter' => 'just_testing' }
332
- schedule.set_parameter(test_parameter.keys.first, test_parameter.values.first)
333
- expect(schedule.params).to eq(old_params.merge(test_parameter))
334
- expect(schedule.dirty).to eq(true)
335
- ensure
336
- schedule && schedule.delete
337
- end
338
- end
339
- end
340
-
341
- describe '#params' do
342
- it 'Should return execution params as hash' do
343
- begin
344
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
345
- res = schedule.params
346
- res.should_not be_nil
347
- res.should_not be_empty
348
- res.should be_a_kind_of(Hash)
349
- ensure
350
- schedule && schedule.delete
351
- end
352
- end
353
- end
354
-
355
- describe '#params=' do
356
- it 'Assigns the params and marks the object dirty' do
357
- begin
358
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
359
-
360
- test_params = {
361
- 'some_new_param' => '1-2-3-4'
362
- }
363
-
364
- schedule.params = test_params
365
- expect(schedule.params.keys).to eq(%w(PROCESS_ID EXECUTABLE some_new_param))
366
- expect(schedule.params['some_new_param']).to eq '1-2-3-4'
367
- expect(schedule.dirty).to eq(true)
368
- schedule.save
369
- ensure
370
- schedule && schedule.delete
371
- end
372
- end
373
- end
374
-
375
- describe '#process_id' do
376
- it 'Should return process id as string' do
377
- begin
378
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
379
- res = schedule.process_id
380
- res.should_not be_nil
381
- res.should_not be_empty
382
- res.should be_a_kind_of(String)
383
- ensure
384
- schedule && schedule.delete
385
- end
386
- end
387
- end
388
-
389
- describe '#process_id=' do
390
- it 'Assigns the process_id and marks the object dirty' do
391
- test_process_id = '1-2-3-4'
392
-
393
- begin
394
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
395
- schedule.process_id = test_process_id
396
- expect(schedule.process_id).to eq(test_process_id)
397
- expect(schedule.dirty).to eq(true)
398
- ensure
399
- schedule && schedule.delete
400
- end
401
- end
402
- end
403
-
404
- describe '#save' do
405
- it 'Should save a schedule' do
406
- begin
407
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
408
- expect(@project.schedules(schedule.uri)).to eq schedule
409
- expect(@project.schedules).to include(schedule)
410
- ensure
411
- schedule && schedule.delete
412
- end
413
- end
414
- end
415
-
416
- describe '#state' do
417
- it 'Should return execution state as string' do
418
- begin
419
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
420
- res = schedule.state
421
- res.should_not be_nil
422
- res.should_not be_empty
423
- res.should be_a_kind_of(String)
424
- ensure
425
- schedule && schedule.delete
426
- end
427
- end
428
- end
429
-
430
- describe '#type' do
431
- it 'Should return execution type as string' do
432
- begin
433
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
434
- res = schedule.type
435
- res.should_not be_nil
436
- res.should_not be_empty
437
- res.should be_a_kind_of(String)
438
- ensure
439
- schedule && schedule.delete
440
- end
441
- end
442
- end
443
-
444
- describe '#type=' do
445
- it 'Assigns the type the object dirty' do
446
- test_type = 'TEST'
447
-
448
- begin
449
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
450
- schedule.type = test_type
451
- expect(schedule.type).to eq(test_type)
452
- expect(schedule.dirty).to eq(true)
453
- ensure
454
- schedule && schedule.delete
455
- end
456
- end
457
- end
458
-
459
- describe '#timezone' do
460
- it 'Should return timezone as string' do
461
- begin
462
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
463
- res = schedule.timezone
464
- res.should_not be_nil
465
- res.should_not be_empty
466
- res.should be_a_kind_of(String)
467
- ensure
468
- schedule && schedule.delete
469
- end
470
- end
471
- end
472
-
473
- describe '#timezone=' do
474
- it 'Assigns the timezone and marks the object dirty' do
475
- test_timezone = 'PST'
476
-
477
- begin
478
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data)
479
- schedule.timezone = test_timezone
480
- expect(schedule.timezone).to eq(test_timezone)
481
- expect(schedule.dirty).to eq(true)
482
- ensure
483
- schedule && schedule.delete
484
- end
485
- end
486
- end
487
-
488
- describe '#reschedule' do
489
- it 'Should return reschedule as integer' do
490
- begin
491
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
492
- res = schedule.reschedule
493
- res.should_not be_nil
494
- res.should be_a_kind_of(Integer)
495
- ensure
496
- schedule && schedule.delete
497
- end
498
- end
499
- end
500
-
501
- describe '#reschedule=' do
502
- it 'Assigns the reschedule and marks the object dirty' do
503
- test_reschedule = 45
504
-
505
- begin
506
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
507
- schedule.reschedule = test_reschedule
508
- expect(schedule.reschedule).to eq(test_reschedule)
509
- expect(schedule.dirty).to eq(true)
510
- ensure
511
- schedule && schedule.delete
512
- end
513
- end
514
- end
515
-
516
- describe '#executions' do
517
- it 'Returns executions' do
518
- begin
519
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
520
- expect(schedule.executions.to_a).to be_empty
521
- schedule.execute
522
- ensure
523
- schedule && schedule.delete
524
- end
525
- end
526
- end
527
-
528
- describe '#name' do
529
- it 'should be able to get name of the schedule.' do
530
- begin
531
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
532
- expect(schedule.name).to eq ProcessHelper::DEPLOY_NAME
533
- ensure
534
- schedule && schedule.delete
535
- end
536
- end
537
-
538
- it 'should be able to return your name if specified during creation.' do
539
- begin
540
- schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param.merge(name: 'My schedule name'))
541
- expect(schedule.name).to eq 'My schedule name'
542
- ensure
543
- schedule && schedule.delete
544
- end
545
- end
546
- end
547
-
548
- describe '#trigger_id=' do
549
- it 'should be able to set trigger_id of the schedule.' do
550
- begin
551
- process = @project.processes(ProcessHelper::PROCESS_ID)
552
- schedule = process.create_schedule(@test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
553
- expect(schedule.dirty).to be_falsey
554
- schedule.trigger_id = 'some_other_id'
555
- expect(schedule.dirty).to be_truthy
556
- ensure
557
- schedule && schedule.delete
558
- end
559
- end
560
- end
561
-
562
- describe '#trigger_id=' do
563
- it 'should be able to set trigger_id of the schedule.' do
564
- begin
565
- process = @project.processes(ProcessHelper::PROCESS_ID)
566
- schedule = process.create_schedule(@test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
567
- expect(schedule.dirty).to be_falsey
568
- schedule.trigger_id = 'some_other_id'
569
- expect(schedule.dirty).to be_truthy
570
- ensure
571
- schedule && schedule.delete
572
- end
573
- end
574
- end
575
-
576
- describe '#name=' do
577
- it 'should be able to set name of the schedule.' do
578
- begin
579
- process = @project.processes(ProcessHelper::PROCESS_ID)
580
- schedule = process.create_schedule(@test_cron, ProcessHelper::DEPLOY_NAME, @test_data_with_optional_param)
581
- expect(schedule.name).to eq ProcessHelper::DEPLOY_NAME
582
- schedule.name = 'MY NAME'
583
- schedule.save
584
- schedule2 = process.schedules.find { |s| s.obj_id == schedule.obj_id }
585
- expect(schedule2.name).to eq 'MY NAME'
586
- ensure
587
- schedule && schedule.delete
588
- end
589
- end
590
- end
591
-
592
- describe '#disable' do
593
- it 'should preserve the hidden parmeters.' do
594
- begin
595
- process = @project.processes(ProcessHelper::PROCESS_ID)
596
- schedule = process.create_schedule(
597
- @test_cron,
598
- ProcessHelper::DEPLOY_NAME,
599
- @test_data_with_optional_param.merge(hidden_params: { "a" => { "b" => "c" } })
600
- )
601
-
602
- schedule.save
603
- expect(schedule.hidden_params).to eq(GoodData::Helpers::ENCODED_HIDDEN_PARAMS_KEY => nil)
604
- schedule2 = process.schedules.find { |s| s.uri == schedule.uri }
605
- expect(schedule2.to_update_payload['schedule']['hiddenParams']).to eq(GoodData::Helpers::ENCODED_HIDDEN_PARAMS_KEY => nil)
606
- ensure
607
- schedule && schedule.delete
608
- end
609
- end
610
- end
611
- end