epc 1.0.2 → 1.0.3

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 (152) hide show
  1. data/lib/epc.rb +71 -54
  2. data/lib/epc/command/archive_command.rb +12 -0
  3. data/lib/epc/command/attach_libraryset_command.rb +1 -2
  4. data/lib/epc/command/attach_runtime_command.rb +0 -1
  5. data/lib/epc/command/base_command.rb +52 -63
  6. data/lib/epc/command/config/delete_config_command.rb +57 -0
  7. data/lib/epc/command/{list_config_command.rb → config/list_configs_command.rb} +1 -1
  8. data/lib/epc/command/config/update_config_command.rb +56 -0
  9. data/lib/epc/command/create_command.rb +0 -1
  10. data/lib/epc/command/delete_command.rb +16 -0
  11. data/lib/epc/command/{delete_dependency_command.rb → dependency/delete_dependency_command.rb} +14 -16
  12. data/lib/epc/command/deploy_command.rb +1 -2
  13. data/lib/epc/command/deployment/list_deployments_command.rb +49 -0
  14. data/lib/epc/command/deployment/show_deployment_command.rb +61 -0
  15. data/lib/epc/command/{update_deploymentproject_command.rb → deployment/update_deployment_command.rb} +3 -3
  16. data/lib/epc/command/{list_stages_command.rb → deploymentstage/list_deploymentstages_command.rb} +1 -1
  17. data/lib/epc/command/group/delete_group_command.rb +25 -0
  18. data/lib/epc/command/{list_groups_command.rb → group/list_groups_command.rb} +1 -1
  19. data/lib/epc/command/{show_group_command.rb → group/show_group_command.rb} +2 -9
  20. data/lib/epc/command/{update_group_command.rb → group/update_group_command.rb} +3 -20
  21. data/lib/epc/command/library/create_library_command.rb +2 -5
  22. data/lib/epc/command/library/delete_library_command.rb +23 -0
  23. data/lib/epc/command/{list_libraries_command.rb → library/list_libraries_command.rb} +1 -1
  24. data/lib/epc/command/librarylanguage/delete_librarylanguage_command.rb +24 -0
  25. data/lib/epc/command/{list_librarylanguages_command.rb → librarylanguage/list_librarylanguages_command.rb} +1 -1
  26. data/lib/epc/command/{update_librarylanguage_command.rb → librarylanguage/update_librarylanguage_command.rb} +6 -10
  27. data/lib/epc/command/libraryset/create_libraryset_command.rb +1 -6
  28. data/lib/epc/command/{delete_libraryset_command.rb → libraryset/delete_libraryset_command.rb} +2 -18
  29. data/lib/epc/command/{list_librarysets_command.rb → libraryset/list_librarysets_command.rb} +1 -1
  30. data/lib/epc/command/{show_libraryset_command.rb → libraryset/show_libraryset_command.rb} +2 -17
  31. data/lib/epc/command/{update_libraryset_command.rb → libraryset/update_libraryset_command.rb} +4 -16
  32. data/lib/epc/command/list_command.rb +22 -0
  33. data/lib/epc/command/list_metrics_command.rb +25 -0
  34. data/lib/epc/command/list_objecttypes_command.rb +2 -4
  35. data/lib/epc/command/list_versions_command.rb +0 -1
  36. data/lib/epc/command/{list_objectroles_command.rb → objectrole/list_objectroles_command.rb} +3 -3
  37. data/lib/epc/command/objectrole/update_objectrole_command.rb +14 -0
  38. data/lib/epc/command/{list_rolepermissions_command.rb → permission/list_permissions_command.rb} +2 -2
  39. data/lib/epc/command/{list_permissiongroups_command.rb → permissiongroup/list_permissiongroups_command.rb} +1 -1
  40. data/lib/epc/command/plugin/create_plugin_command.rb +42 -0
  41. data/lib/epc/command/plugin/delete_plugin_command.rb +26 -0
  42. data/lib/epc/command/plugin/list_plugins_command.rb +19 -0
  43. data/lib/epc/command/plugin/show_plugin_command.rb +29 -0
  44. data/lib/epc/command/plugin/update_plugin_command.rb +53 -0
  45. data/lib/epc/command/{archive_project_command.rb → project/archive_project_command.rb} +4 -3
  46. data/lib/epc/command/{delete_project_command.rb → project/delete_project_command.rb} +11 -7
  47. data/lib/epc/command/{list_projects_command.rb → project/list_projects_command.rb} +8 -9
  48. data/lib/epc/command/{show_project_command.rb → project/show_project_command.rb} +64 -29
  49. data/lib/epc/command/{unarchive_project_command.rb → project/unarchive_project_command.rb} +5 -4
  50. data/lib/epc/command/{update_project_command.rb → project/update_project_command.rb} +11 -5
  51. data/lib/epc/command/{list_projecttypes_command.rb → projecttype/list_projecttypes_command.rb} +1 -1
  52. data/lib/epc/command/{show_projecttype_command.rb → projecttype/show_projecttype_command.rb} +4 -3
  53. data/lib/epc/command/pull_command.rb +33 -35
  54. data/lib/epc/command/{delete_role_command.rb → role/delete_role_command.rb} +3 -4
  55. data/lib/epc/command/{list_roles_command.rb → role/list_roles_command.rb} +4 -3
  56. data/lib/epc/command/{show_role_command.rb → role/show_role_command.rb} +18 -10
  57. data/lib/epc/command/role/update_role_command.rb +95 -0
  58. data/lib/epc/command/{list_runtimes_command.rb → runtime/list_runtimes_command.rb} +0 -0
  59. data/lib/epc/command/servicedefinition/create_servicedefinition_command.rb +23 -0
  60. data/lib/epc/command/{list_servicedefinitions_command.rb → servicedefinition/list_servicedefinitions_command.rb} +1 -0
  61. data/lib/epc/command/{list_service_types_command.rb → servicetype/list_servicetypes_command.rb} +0 -0
  62. data/lib/epc/command/serviceversion/delete_serviceversion_command.rb +24 -0
  63. data/lib/epc/command/{list_serviceversions_command.rb → serviceversion/list_serviceversions_command.rb} +1 -1
  64. data/lib/epc/command/show_command.rb +27 -0
  65. data/lib/epc/command/show_instances_command.rb +33 -0
  66. data/lib/epc/command/show_metrics_command.rb +55 -0
  67. data/lib/epc/command/{archive_solution_command.rb → solution/archive_solution_command.rb} +2 -1
  68. data/lib/epc/command/solution/create_solution_command.rb +0 -1
  69. data/lib/epc/command/{delete_solution_command.rb → solution/delete_solution_command.rb} +5 -10
  70. data/lib/epc/command/solution/list_solutions_command.rb +1 -1
  71. data/lib/epc/command/{show_solution_command.rb → solution/show_solution_command.rb} +12 -7
  72. data/lib/epc/command/{unarchive_solution_command.rb → solution/unarchive_solution_command.rb} +1 -1
  73. data/lib/epc/command/solution/update_solution_command.rb +2 -1
  74. data/lib/epc/command/unarchive_command.rb +12 -0
  75. data/lib/epc/command/update_command.rb +15 -0
  76. data/lib/epc/command/update_rolepermissions_command.rb +2 -2
  77. data/lib/epc/command/{delete_user_command.rb → user/delete_user_command.rb} +4 -12
  78. data/lib/epc/command/{list_users_command.rb → user/list_users_command.rb} +1 -1
  79. data/lib/epc/command/{show_user_command.rb → user/show_user_command.rb} +3 -17
  80. data/lib/epc/command/{update_user_command.rb → user/update_user_command.rb} +2 -4
  81. data/lib/epc/config.rb +4 -1
  82. data/lib/epc/help.rb +50 -35
  83. data/lib/epc/runner.rb +16 -5
  84. data/lib/epc/version.rb +1 -1
  85. data/lib/epc/vertical_bar.rb +40 -0
  86. data/test/command/create_library_command_test.rb +5 -2
  87. data/test/command/create_libraryset_command_test.rb +1 -1
  88. data/test/command/create_plugin_command_test.rb +44 -0
  89. data/test/command/create_servicedefinition_command_test.rb +43 -0
  90. data/test/command/delete_config_command_test.rb +0 -11
  91. data/test/command/delete_dependency_command_test.rb +3 -11
  92. data/test/command/delete_library_command_test.rb +2 -15
  93. data/test/command/delete_librarylanguage_command_test.rb +2 -24
  94. data/test/command/delete_libraryset_command_test.rb +2 -24
  95. data/test/command/delete_plugin_command_test.rb +32 -0
  96. data/test/command/delete_project_command_test.rb +0 -6
  97. data/test/command/delete_role_command_test.rb +1 -1
  98. data/test/command/delete_serviceversion_command_test.rb +0 -22
  99. data/test/command/delete_solution_command_test.rb +4 -4
  100. data/test/command/delete_user_command_test.rb +2 -24
  101. data/test/command/list_config_command_test.rb +3 -3
  102. data/test/command/list_deployments_command_test.rb +17 -20
  103. data/test/command/list_deploymentstages_command_test.rb +2 -2
  104. data/test/command/list_metrics_command_test.rb +40 -0
  105. data/test/command/{list_rolepermissions_command_test.rb → list_permissions_command_test.rb} +2 -2
  106. data/test/command/list_plugins_command_test.rb +27 -0
  107. data/test/command/list_projects_command_test.rb +3 -5
  108. data/test/command/list_roles_command_test.rb +2 -3
  109. data/test/command/pull_command_test.rb +13 -9
  110. data/test/command/show_group_command_test.rb +1 -23
  111. data/test/command/show_instances_command_test.rb +33 -0
  112. data/test/command/show_libraryset_command_test.rb +0 -11
  113. data/test/command/show_metrics_command_test.rb +51 -0
  114. data/test/command/show_plugin_command_test.rb +28 -0
  115. data/test/command/show_project_command_test.rb +1 -1
  116. data/test/command/show_projecttype_command_test.rb +0 -5
  117. data/test/command/show_role_command_test.rb +1 -1
  118. data/test/command/show_solution_command_test.rb +1 -1
  119. data/test/command/show_user_command_test.rb +2 -22
  120. data/test/command/update_config_command_test.rb +3 -9
  121. data/test/command/{update_deploymentproject_command_test.rb → update_deployment_command_test.rb} +6 -11
  122. data/test/command/update_group_command_test.rb +1 -20
  123. data/test/command/update_librarylanguage_command_test.rb +0 -15
  124. data/test/command/update_libraryset_command_test.rb +0 -13
  125. data/test/command/update_plugin_command_test.rb +41 -0
  126. data/test/command/update_project_command_test.rb +3 -3
  127. data/test/command/update_role_command_test.rb +2 -1
  128. data/test/command/update_solution_command_test.rb +3 -9
  129. data/test/command/update_user_command_test.rb +0 -6
  130. metadata +177 -165
  131. data/lib/epc/command/define_service_command.rb +0 -37
  132. data/lib/epc/command/delete_config_command.rb +0 -63
  133. data/lib/epc/command/delete_group_command.rb +0 -40
  134. data/lib/epc/command/delete_library_command.rb +0 -30
  135. data/lib/epc/command/delete_librarylanguage_command.rb +0 -40
  136. data/lib/epc/command/delete_serviceversion_command.rb +0 -52
  137. data/lib/epc/command/list_approvals_command.rb +0 -27
  138. data/lib/epc/command/list_attachedlibraries_command.rb +0 -42
  139. data/lib/epc/command/list_boundservices_command.rb +0 -40
  140. data/lib/epc/command/list_dependencies_command.rb +0 -43
  141. data/lib/epc/command/list_deployments_command.rb +0 -68
  142. data/lib/epc/command/list_solutions_command.rb +0 -25
  143. data/lib/epc/command/show_deployment_command.rb +0 -57
  144. data/lib/epc/command/update_config_command.rb +0 -62
  145. data/lib/epc/command/update_role_command.rb +0 -47
  146. data/lib/epc/command/update_solution_command.rb +0 -45
  147. data/test/command/define_service_command_test.rb +0 -55
  148. data/test/command/delete_group_command_test.rb +0 -56
  149. data/test/command/list_approvals_command_test.rb +0 -41
  150. data/test/command/list_boundservices_command_test.rb +0 -46
  151. data/test/command/list_dependencies_command_test.rb +0 -46
  152. data/test/command/update_rolepermissions_command_test.rb +0 -54
@@ -1,25 +0,0 @@
1
- require 'time'
2
- module EPC::Command
3
- class ListSolutionsCommand < BaseCommand
4
-
5
- def execute(*args)
6
- status, response, headers = client.get(EPC::Config::SOLUTIONS_PATH)
7
-
8
- if status.failure?
9
- say("Solutions retrieval failed with [#{response[:message]}]")
10
- elsif response.empty?
11
- say("You have no solutions created. You can create them with epc create solution.")
12
- else
13
- response.each do |resp|
14
- resp[:created_at] = Time.parse(resp[:created_at]).strftime("%m/%d/%Y %I:%M%p")
15
- resp[:creator_id] = resp[:created_by][:id] rescue nil
16
- resp[:creator_name] = resp[:created_by][:name] rescue nil
17
- end
18
- solutions_table = EPC::TabularOutputter.new(response, [:id, :name, :build_status, :created_at, :creator_id, :creator_name])
19
- say(solutions_table.print)
20
- end
21
- return status
22
-
23
- end
24
- end
25
- end
@@ -1,57 +0,0 @@
1
- require 'time'
2
- module EPC::Command
3
- class ShowDeploymentCommand < BaseCommand
4
-
5
- def execute(deployment_id = nil)
6
- if deployment_id.nil?
7
- say("You must specifiy a deployment id")
8
- say(EPC::Help::COMMAND_USAGES[:show_deployment])
9
- return 1
10
- end
11
-
12
- status, response, headers = client.get(EPC::Config::DEPLOYMENTS_PATH + "/#{deployment_id}?include=solution,deployment_stage,approvals,deployer,submitter")
13
- if status.failure?
14
- say("Request failed: [#{response[:message]}]")
15
- return status
16
- end
17
-
18
- response[:created_at] = Time.parse(response[:created_at]).strftime("%m/%d/%Y %I:%M%p") unless response[:created_at].nil?
19
- response[:updated_at] = Time.parse(response[:updated_at]).strftime("%m/%d/%Y %I:%M%p") unless response[:updated_at].nil?
20
- response[:stage] = response[:deployment_stage][:name]
21
- response[:solution_id] = response[:solution][:id]
22
- response[:solution_name] = response[:solution][:name]
23
- response[:submitter] = response[:submitter][:name] rescue nil
24
- response[:deployer] = response[:deployer][:name] rescue nil
25
- deployments_table = EPC::TabularOutputter.new([response], [:id, :status, :stage, :solution_name, :submitter, :deployer, :updated_at, :note, :replaces])
26
- say(deployments_table.print)
27
-
28
-
29
- approvals = response[:approvals]
30
- unless approvals.nil? || approvals.empty?
31
- say("\nApprovals:")
32
- approvals_table = EPC::TabularOutputter.new(approvals, [:id, :name, :approved, :approver_id, :approver_name])
33
- say(approvals_table.print)
34
- end
35
-
36
- projects = response[:solution][:projects]
37
- unless projects.nil? || projects.empty?
38
- say("\n\nProjects details:")
39
- projects.each do |project|
40
- say("\n## #{project[:name]}")
41
- project[:uri] = project[:uris].first unless project[:uris].nil?
42
- projects_table = EPC::TabularOutputter.new([project], [:id, :name, :version, :status, :uri, :instances])
43
- say(projects_table.print)
44
-
45
- config_values = project[:config_values]
46
- unless config_values.nil? || config_values.empty?
47
- say("\nConfig values: ")
48
- config_values_table = EPC::TabularOutputter.new(config_values, [:name, :value])
49
- say(config_values_table.print)
50
- end
51
- say("\n\n")
52
- end
53
- end
54
- return status
55
- end
56
- end
57
- end
@@ -1,62 +0,0 @@
1
- module EPC::Command
2
- class UpdateConfigCommand < BaseCommand
3
-
4
-
5
- def execute(*args)
6
- if args.empty?
7
- say("You have to specify a key and its value.")
8
- return 1
9
- end
10
-
11
- path = "."
12
- path = File.expand_path(path)
13
-
14
- @options[:required] = false if @options[:required].nil?
15
-
16
- config_type, config_id = extract_configuration_level(path, @options)
17
- request_path = EPC::Config::CONFIGURATIONS_PATH+"/#{config_type}/#{config_id}"
18
-
19
- if ["solution", "project"].include?(config_type.downcase) && !@options[:stage].nil?
20
- request_path += "/#{@options[:stage]}"
21
- end
22
-
23
- status, response, headers = client.get(request_path)
24
-
25
- if status.failure?
26
- say("Configuration retrieval failed with [#{response[:message]}]")
27
- return status
28
- end
29
-
30
- keys = response
31
-
32
- args.each do |arg|
33
- name, value = arg.split("=")
34
-
35
- key_id = keys.detect{|k| k[:name] == name}[:id] rescue nil
36
-
37
- if key_id.nil?
38
- say("Key does not exist.")
39
- return 1
40
- end
41
-
42
- params = {
43
- :name => name,
44
- }
45
- params[:value] = value unless value.nil?
46
- params[:required] = @options[:required]
47
- params[:no_override] = @options[:no_override] unless @options[:no_override].nil?
48
-
49
- status, response, headers = client.put(EPC::Config::CONFIGURATIONS_PATH + "/#{key_id}", params)
50
-
51
- if status.successful?
52
- unless response[:id].nil?
53
- say("#{name} saved.")
54
- end
55
- else
56
- say("Request failed with message [#{response[:message]}]")
57
- end
58
- return status
59
- end
60
- end
61
- end
62
- end
@@ -1,47 +0,0 @@
1
- module EPC::Command
2
- class UpdateRoleCommand < BaseCommand
3
-
4
- required_arguments_count 1, :message => "You must specify the role id/name"
5
- required_options :add_user, :remove_user, :add_group, :remove_group, :mode => :any?, :message => "You must specify a user to added or removed"
6
-
7
- def execute(role = nil)
8
- role_id = retrieve_system_role_identifier(role)
9
-
10
-
11
- if @options[:add_user].present?
12
- user_id = retrieve_user_identifier(@options[:add_user])
13
- params = []
14
- params << {:member_id => user_id.to_i, :member_type => "User"}
15
-
16
- status, response, headers = client.put(EPC::Config::ROLES_PATH + "/#{role_id}/assign_members", {:role_memberships => params})
17
- say("User added to role") if status.successful?
18
- end
19
-
20
-
21
- if @options[:remove_user].present?
22
- user_id = retrieve_user_identifier(@options[:remove_user])
23
- status, response, headers = client.delete(EPC::Config::ROLES_PATH + "/#{role_id}/remove_member", {:member_id => @options[:remove_user], :member_type => "User"})
24
- say("User removed from role") if status.successful?
25
- end
26
-
27
- if @options[:add_group].present?
28
- group_id = retrieve_user_group_identifier(@options[:add_group])
29
- params = []
30
- params << {:member_id => group_id.to_i, :member_type => "UserGroup"}
31
-
32
- status, response, headers = client.put(EPC::Config::ROLES_PATH + "/#{role_id}/assign_members", {:role_memberships => params})
33
- say("UserGroup added to role") if status.successful?
34
- end
35
-
36
-
37
- if @options[:remove_group].present?
38
- group_id = retrieve_user_group_identifier(@options[:remove_group])
39
- status, response, headers = client.delete(EPC::Config::ROLES_PATH + "/#{role_id}/remove_member", {:member_id => group_id, :member_type => "UserGroup"})
40
- say("UserGroup removed from role") if status.successful?
41
- end
42
-
43
- say("Request failed: [#{response[:message]}]") unless status.successful?
44
- return status
45
- end
46
- end
47
- end
@@ -1,45 +0,0 @@
1
- module EPC::Command
2
- class UpdateSolutionCommand < BaseCommand
3
- UPDATABLE_ATTRIBUTES = ["name"]
4
-
5
- def execute(*args)
6
- path = "."
7
- path = File.expand_path(path)
8
- path = project_solution_path(path)
9
-
10
-
11
- solution_id, solution_name = infer_solution_context(@options[:solution_name], path)
12
-
13
- raise FatalError, "Solution could not be determined" if solution_id.nil?
14
-
15
- args_hash = {}
16
- args.each do |arg|
17
- key, val = arg.split("=")
18
- args_hash[key] = val
19
- end
20
-
21
- unless @options[:file].nil?
22
- args_hash = EPC::Config.read_content_as_json(@options[:file]).merge(args_hash)
23
- end
24
-
25
- args_hash.each do |attr, val|
26
- if !UPDATABLE_ATTRIBUTES.include?(attr)
27
- args_hash.delete(attr)
28
- say("Cannot update #{attr}. Updatable attributes are: #{UPDATABLE_ATTRIBUTES.join(',')}")
29
- next
30
- end
31
- end
32
-
33
-
34
- unless args_hash.empty?
35
- status, response, message = client.put(EPC::Config::SOLUTIONS_PATH + "/#{solution_id}", args_hash)
36
- if status.failure?
37
- say("Update failed with: [#{response['message']}]")
38
- else
39
- say("Update succesful")
40
- end
41
- return status
42
- end
43
- end
44
- end
45
- end
@@ -1,55 +0,0 @@
1
- require File.expand_path "../../../lib/epc", __FILE__
2
- require "test/unit"
3
- require 'shoulda'
4
- require 'mocha'
5
-
6
- class DefineServiceCommandTest < Test::Unit::TestCase
7
- should_require_login
8
-
9
- context "execution" do
10
- setup do
11
- @mock_client = mock('Client')
12
- end
13
-
14
- should "require the user to specify the service_name" do
15
- @command = EPC::Command::DefineServiceCommand.new(@mock_client)
16
- @command.expects(:say).with("You must specify a name for the service")
17
- @command.expects(:say).with(EPC::Help::COMMAND_USAGES[:define_service])
18
- @command.execute
19
- end
20
-
21
- should "require the user to specify a service_type identifier" do
22
- @command = EPC::Command::DefineServiceCommand.new(@mock_client, {:service_type => nil})
23
- @command.expects(:say).with("You must specify a service type with -t option.")
24
- @command.execute("service")
25
- end
26
- end
27
-
28
- context "service definition" do
29
- setup do
30
- @mock_client = stub('Client')
31
- @command = EPC::Command::DefineServiceCommand.new(@mock_client, {:service_type => "MySQL"})
32
- end
33
-
34
- should "query core for service_type_id if service type name was specified" do
35
- @command.expects(:get_resource_id).returns(0)
36
- @command.expects(:say).with("MySQL service type could not be found.")
37
- @command.execute("service")
38
- end
39
-
40
- should "fail if status is not 201" do
41
- @command.expects(:get_resource_id).returns(1)
42
- @mock_client.expects(:post).with(EPC::Config::SERVICE_DEFINITIONS_PATH, {:name => "service", :type_id => 1}).returns([400, {'message' => 'Not Found'}])
43
- @command.expects(:say).with("Service definition failed with: [Not Found]")
44
- @command.execute("service")
45
- end
46
-
47
- should "define a service" do
48
- @command.expects(:get_resource_id).returns(1)
49
- @mock_client.expects(:post).with(EPC::Config::SERVICE_DEFINITIONS_PATH, {:name => "service", :type_id => 1}).returns([201, {'id' => 1}])
50
- @command.expects(:say).with("service has been defined.")
51
- @command.execute("service")
52
- end
53
- end
54
- end
55
-
@@ -1,56 +0,0 @@
1
- require 'test_helper'
2
-
3
- class DeleteGroupCommandTest < Test::Unit::TestCase
4
- should_require_login
5
-
6
- context "execute" do
7
- setup do
8
- @mock_client = mock("Client")
9
- @command = EPC::Command::DeleteGroupCommand.new(@mock_client)
10
- end
11
-
12
- should "fail if no names are specified" do
13
- @command.expects(:say).with("You need to specify a group id/name")
14
- @command.expects(:say).with(EPC::Help::COMMAND_USAGES[:delete_group])
15
- assert_equal(@command.execute, 1)
16
- end
17
-
18
- should "fail if group id can't be determined" do
19
- @command.expects(:ask_yn).returns("Y")
20
- @command.expects(:get_resource_id).with(EPC::Config::GROUPS_PATH, :name, "admins").returns(nil)
21
- @command.expects(:say).with("Group could not be determined")
22
-
23
- assert_equal(@command.execute("admins"), 1)
24
- end
25
-
26
-
27
- should "fail if status is not 200" do
28
- @command.expects(:ask_yn).returns("Y")
29
- @mock_client.expects(:delete).with(EPC::Config::GROUPS_PATH + "/1").
30
- returns([404, {:message => "Not Found"}, {}])
31
- @command.expects(:say).with("Request failed: [Not Found]")
32
- assert_equal(@command.execute(1), 404)
33
- end
34
-
35
-
36
- should "delete a group specified by id" do
37
- @command.expects(:ask_yn).returns("Y")
38
- @mock_client.expects(:delete).with(EPC::Config::GROUPS_PATH + "/1").
39
- returns([200, {}, {}])
40
- @command.expects(:say).with("Group deleted")
41
-
42
- assert_equal(@command.execute(1), 200)
43
- end
44
-
45
-
46
- should "delete a group specified by name" do
47
- @command.expects(:ask_yn).returns("Y")
48
- @command.expects(:get_resource_id).with(EPC::Config::GROUPS_PATH, :name, "admins").returns(1)
49
- @mock_client.expects(:delete).with(EPC::Config::GROUPS_PATH + "/1").
50
- returns([200, {}, {}])
51
- @command.expects(:say).with("Group deleted")
52
-
53
- assert_equal(@command.execute("admins"), 200)
54
- end
55
- end
56
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ListApprovalsCommandTest < Test::Unit::TestCase
4
- should_require_login
5
-
6
- context "execute" do
7
- setup do
8
- @mock_client = mock("Client")
9
- @command = EPC::Command::ListApprovalsCommand.new(@mock_client)
10
- end
11
-
12
- should "fail if deployment_id can't be determined" do
13
-
14
- @command.expects(:say).with("You must specify a deployment id")
15
- @command.expects(:say).with(EPC::Help::COMMAND_USAGES[:list_approvals])
16
- assert_equal(@command.execute, 1)
17
-
18
- end
19
-
20
- should "show a message if status is not 200" do
21
- @mock_client.expects(:get).with(EPC::Config::DEPLOYMENTS_PATH + "/1/approvals").returns([400, {:message => "Not Found"}, {}])
22
- @command.expects(:say).with("Request failed: [Not Found]")
23
- assert_equal(@command.execute(1), 400)
24
- end
25
-
26
- should "show a message if no approvals are found" do
27
- @mock_client.expects(:get).with(EPC::Config::DEPLOYMENTS_PATH + "/1/approvals").returns([200, {}, {}])
28
- @command.expects(:say).with("No approvals have been defined")
29
- assert_equal(@command.execute(1), 200)
30
- end
31
-
32
- should "request and show approvals" do
33
- @mock_client.expects(:get).with(EPC::Config::DEPLOYMENTS_PATH + "/1/approvals").
34
- returns([200, [{:id => 1, :name => "admin approval", :approved => true, :user_id => 1}], {}])
35
-
36
- @command.expects(:say)
37
- assert_equal(@command.execute(1), 200)
38
- end
39
- end
40
- end
41
-
@@ -1,46 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ListBoundservicesCommandTest < Test::Unit::TestCase
4
- should_require_login
5
-
6
- context "execute" do
7
- setup do
8
- @mock_client = mock("Client")
9
- @command = EPC::Command::ListBoundservicesCommand.new(@mock_client)
10
- end
11
-
12
- should "fail if library not specified" do
13
- @command.expects(:say).with(EPC::Help::COMMAND_USAGES[:list_boundservices])
14
-
15
- assert_equal(@command.execute, 1)
16
- end
17
-
18
-
19
- should "fail if status is not 200" do
20
- @mock_client.expects(:get).with(EPC::Config::PROJECTS_PATH + "/1/service_versions").
21
- returns([404, {:message => "Not Found"}, {}])
22
- @command.expects(:say).with("Request failed: [Not Found]")
23
-
24
- assert_equal(@command.execute(1), 404)
25
- end
26
-
27
- should "list bound-services" do
28
- @mock_client.expects(:get).with(EPC::Config::PROJECTS_PATH + "/1/service_versions").
29
- returns([200, [{
30
- :id => 100,
31
- :current => false,
32
- :service_version => {
33
- :label => "Label",
34
- :id => 133,
35
- :label => "Version 20",
36
- :service_definition => {
37
- :id => 133,
38
- :name => "Service Definition 20"
39
- }
40
- }
41
- }], {}])
42
- @command.expects(:say).twice
43
- assert_equal(@command.execute(1), 200)
44
- end
45
- end
46
- end
@@ -1,46 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ListDependenciesCommandTest < Test::Unit::TestCase
4
- should_require_login
5
-
6
- context "execute" do
7
- setup do
8
- @mock_client = mock("Client")
9
- @command = EPC::Command::ListDependenciesCommand.new(@mock_client)
10
- end
11
-
12
- should "fail if project_id can't be determined" do
13
- @command.expects(:infer_project_context).returns([nil, nil])
14
- @command.expects(:say).with("Project could not be inferred")
15
- @command.expects(:say).with(EPC::Help::COMMAND_USAGES[:list_dependencies])
16
-
17
- assert_equal(@command.execute, 1)
18
- end
19
-
20
- should "show a message if status is not 200" do
21
- @command.expects(:infer_project_context).returns([1, "FirstProject"])
22
- @mock_client.expects(:get).with(EPC::Config::PROJECTS_PATH + "/1/list_dependencies").returns([400, {:message => "Not Found"}, {}])
23
- @command.expects(:say).with("Request failed: [Not Found]")
24
-
25
- assert_equal(@command.execute, 400)
26
- end
27
-
28
- should "show a message if no dependencies are found" do
29
- @command.expects(:infer_project_context).returns([1, "FirstProject"])
30
- @mock_client.expects(:get).with(EPC::Config::PROJECTS_PATH + "/1/list_dependencies").returns([200, [], {}])
31
-
32
- @command.expects(:say).with("Project [FirstProject] has no dependencies")
33
-
34
- assert_equal(@command.execute, 200)
35
- end
36
-
37
- should "request and show dependencies" do
38
- @command.expects(:infer_project_context).returns([1, "FirstProject"])
39
- @mock_client.expects(:get).with(EPC::Config::PROJECTS_PATH + "/1/list_dependencies").
40
- returns([200, [{:id => 1, :parent_id => 1, :dependency_id => 2, :dependency_kind => 1}]])
41
- @command.expects(:say)
42
- assert_equal(@command.execute, 200)
43
- end
44
- end
45
- end
46
-