epc 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. data/lib/epc.rb +25 -5
  2. data/lib/epc/client/json_client.rb +4 -4
  3. data/lib/epc/command/archive_command.rb +7 -6
  4. data/lib/epc/command/attachto_command.rb +13 -0
  5. data/lib/epc/command/base_command.rb +120 -29
  6. data/lib/epc/command/config/create_config_command.rb +7 -11
  7. data/lib/epc/command/config/delete_config_command.rb +5 -5
  8. data/lib/epc/command/config/list_configs_command.rb +5 -5
  9. data/lib/epc/command/config/update_config_command.rb +11 -10
  10. data/lib/epc/command/copy_command.rb +14 -0
  11. data/lib/epc/command/create_command.rb +9 -5
  12. data/lib/epc/command/delete_command.rb +9 -9
  13. data/lib/epc/command/{copy_deployment_command.rb → deployment/copy_deployment_command.rb} +6 -5
  14. data/lib/epc/command/deployment/create_deployment_command.rb +15 -15
  15. data/lib/epc/command/deployment/list_deployments_command.rb +2 -4
  16. data/lib/epc/command/deployment/show_deployment_command.rb +5 -7
  17. data/lib/epc/command/deployment/submit_deployment_command.rb +15 -0
  18. data/lib/epc/command/deployment/update_deployment_command.rb +5 -14
  19. data/lib/epc/command/deployment/vote_deployment_command.rb +23 -0
  20. data/lib/epc/command/deploymentstage/list_deploymentstages_command.rb +1 -1
  21. data/lib/epc/command/detachfrom_command.rb +13 -0
  22. data/lib/epc/command/group/create_group_command.rb +3 -3
  23. data/lib/epc/command/group/delete_group_command.rb +4 -5
  24. data/lib/epc/command/group/show_group_command.rb +2 -3
  25. data/lib/epc/command/group/update_group_command.rb +9 -7
  26. data/lib/epc/command/library/create_library_command.rb +1 -2
  27. data/lib/epc/command/library/delete_library_command.rb +4 -5
  28. data/lib/epc/command/library/list_libraries_command.rb +1 -1
  29. data/lib/epc/command/librarylanguage/create_librarylanguage_command.rb +1 -1
  30. data/lib/epc/command/librarylanguage/delete_librarylanguage_command.rb +3 -5
  31. data/lib/epc/command/librarylanguage/list_librarylanguages_command.rb +1 -1
  32. data/lib/epc/command/librarylanguage/update_librarylanguage_command.rb +4 -5
  33. data/lib/epc/command/libraryset/create_libraryset_command.rb +5 -4
  34. data/lib/epc/command/libraryset/delete_libraryset_command.rb +4 -6
  35. data/lib/epc/command/libraryset/list_librarysets_command.rb +2 -2
  36. data/lib/epc/command/libraryset/show_libraryset_command.rb +3 -3
  37. data/lib/epc/command/libraryset/update_libraryset_command.rb +4 -3
  38. data/lib/epc/command/list_command.rb +10 -14
  39. data/lib/epc/command/list_objecttypes_command.rb +1 -1
  40. data/lib/epc/command/objectrole/create_objectrole_command.rb +4 -5
  41. data/lib/epc/command/objectrole/list_objectroles_command.rb +3 -8
  42. data/lib/epc/command/objectrole/update_objectrole_command.rb +3 -1
  43. data/lib/epc/command/permission/list_permissions_command.rb +1 -1
  44. data/lib/epc/command/permissiongroup/list_permissiongroups_command.rb +1 -1
  45. data/lib/epc/command/plugin/create_plugin_command.rb +1 -2
  46. data/lib/epc/command/plugin/delete_plugin_command.rb +4 -6
  47. data/lib/epc/command/plugin/list_plugins_command.rb +1 -1
  48. data/lib/epc/command/plugin/show_plugin_command.rb +2 -5
  49. data/lib/epc/command/plugin/update_plugin_command.rb +2 -6
  50. data/lib/epc/command/project/archive_project_command.rb +3 -12
  51. data/lib/epc/command/project/attachto_project_command.rb +133 -0
  52. data/lib/epc/command/project/create_project_command.rb +6 -6
  53. data/lib/epc/command/project/delete_project_command.rb +3 -24
  54. data/lib/epc/command/project/detachfrom_project_command.rb +66 -0
  55. data/lib/epc/command/project/list_projects_command.rb +12 -7
  56. data/lib/epc/command/project/show_project_command.rb +26 -25
  57. data/lib/epc/command/project/show_project_snapshot_command.rb +41 -0
  58. data/lib/epc/command/project/unarchive_project_command.rb +3 -10
  59. data/lib/epc/command/project/update_project_command.rb +5 -18
  60. data/lib/epc/command/projecttype/create_projecttype_command.rb +37 -0
  61. data/lib/epc/command/projecttype/delete_projecttype_command.rb +24 -0
  62. data/lib/epc/command/projecttype/list_projecttypes_command.rb +1 -1
  63. data/lib/epc/command/projecttype/show_projecttype_command.rb +2 -4
  64. data/lib/epc/command/projecttype/update_projecttype_command.rb +61 -0
  65. data/lib/epc/command/push_command.rb +14 -8
  66. data/lib/epc/command/role/create_role_command.rb +26 -3
  67. data/lib/epc/command/role/delete_role_command.rb +3 -5
  68. data/lib/epc/command/role/list_roles_command.rb +7 -3
  69. data/lib/epc/command/role/show_role_command.rb +8 -5
  70. data/lib/epc/command/role/update_role_command.rb +14 -66
  71. data/lib/epc/command/runtime/create_runtime_command.rb +34 -0
  72. data/lib/epc/command/runtime/delete_runtime_command.rb +24 -0
  73. data/lib/epc/command/runtime/list_runtimes_command.rb +2 -2
  74. data/lib/epc/command/runtime/update_runtime_command.rb +49 -0
  75. data/lib/epc/command/runtimetype/list_runtimetypes_command.rb +17 -0
  76. data/lib/epc/command/servicedefinition/create_servicedefinition_command.rb +5 -6
  77. data/lib/epc/command/servicedefinition/delete_servicedefinition_command.rb +18 -0
  78. data/lib/epc/command/servicedefinition/list_servicedefinitions_command.rb +2 -2
  79. data/lib/epc/command/servicetype/list_servicetypes_command.rb +1 -1
  80. data/lib/epc/command/serviceversion/create_serviceversion_command.rb +8 -12
  81. data/lib/epc/command/serviceversion/delete_serviceversion_command.rb +3 -5
  82. data/lib/epc/command/serviceversion/list_serviceversions_command.rb +8 -1
  83. data/lib/epc/command/show_command.rb +8 -9
  84. data/lib/epc/command/show_metrics_command.rb +3 -3
  85. data/lib/epc/command/solution/archive_solution_command.rb +3 -10
  86. data/lib/epc/command/solution/create_solution_command.rb +2 -2
  87. data/lib/epc/command/solution/delete_solution_command.rb +3 -7
  88. data/lib/epc/command/solution/list_solutions_command.rb +11 -3
  89. data/lib/epc/command/solution/show_solution_command.rb +4 -6
  90. data/lib/epc/command/solution/unarchive_solution_command.rb +3 -8
  91. data/lib/epc/command/solution/update_solution_command.rb +4 -6
  92. data/lib/epc/command/submit_command.rb +16 -0
  93. data/lib/epc/command/unarchive_command.rb +7 -6
  94. data/lib/epc/command/update_command.rb +9 -8
  95. data/lib/epc/command/user/create_user_command.rb +2 -3
  96. data/lib/epc/command/user/delete_user_command.rb +3 -5
  97. data/lib/epc/command/user/list_users_command.rb +1 -1
  98. data/lib/epc/command/user/show_user_command.rb +2 -4
  99. data/lib/epc/command/user/update_user_command.rb +3 -14
  100. data/lib/epc/command/userproperty/list_user_properties_command.rb +23 -0
  101. data/lib/epc/command/vote_command.rb +16 -0
  102. data/lib/epc/config.rb +7 -1
  103. data/lib/epc/help.rb +51 -48
  104. data/lib/epc/modules/config.rb +39 -0
  105. data/lib/epc/modules/role.rb +133 -0
  106. data/lib/epc/runner.rb +23 -12
  107. data/lib/epc/version.rb +1 -1
  108. data/test/command/archive_project_command_test.rb +2 -13
  109. data/test/command/archive_solution_command_test.rb +4 -14
  110. data/test/command/copy_deployment_command_test.rb +4 -8
  111. data/test/command/create_config_command_test.rb +23 -23
  112. data/test/command/create_deployment_command_test.rb +33 -32
  113. data/test/command/create_group_command_test.rb +2 -2
  114. data/test/command/create_library_command_test.rb +6 -6
  115. data/test/command/create_librarylanguage_command_test.rb +3 -3
  116. data/test/command/create_libraryset_command_test.rb +6 -26
  117. data/test/command/create_objectrole_command_test.rb +4 -13
  118. data/test/command/create_project_command_test.rb +27 -13
  119. data/test/command/create_role_command_test.rb +3 -2
  120. data/test/command/create_runtime_command_test.rb +37 -0
  121. data/test/command/create_servicedefinition_command_test.rb +4 -17
  122. data/test/command/create_serviceversion_command_test.rb +8 -22
  123. data/test/command/create_solution_command_test.rb +5 -5
  124. data/test/command/create_user_command_test.rb +4 -4
  125. data/test/command/delete_config_command_test.rb +8 -15
  126. data/test/command/delete_library_command_test.rb +3 -4
  127. data/test/command/delete_librarylanguage_command_test.rb +3 -4
  128. data/test/command/delete_libraryset_command_test.rb +3 -4
  129. data/test/command/delete_plugin_command_test.rb +3 -4
  130. data/test/command/delete_project_command_test.rb +2 -10
  131. data/test/command/delete_projecttype_command_test.rb +31 -0
  132. data/test/command/delete_role_command_test.rb +5 -14
  133. data/test/command/delete_runtime_command_test.rb +31 -0
  134. data/test/command/delete_servicedefinition_command_test.rb +31 -0
  135. data/test/command/delete_serviceversion_command_test.rb +3 -2
  136. data/test/command/delete_solution_command_test.rb +3 -16
  137. data/test/command/delete_user_command_test.rb +3 -3
  138. data/test/command/list_config_command_test.rb +1 -0
  139. data/test/command/list_deployments_command_test.rb +11 -41
  140. data/test/command/list_objectroles_command_test.rb +4 -14
  141. data/test/command/list_projects_command_test.rb +0 -14
  142. data/test/command/list_roles_command_test.rb +3 -1
  143. data/test/command/list_runtimes_command_test.rb +2 -3
  144. data/test/command/list_runtimetypes_command_test.rb +29 -0
  145. data/test/command/list_userproperties_command_test.rb +33 -0
  146. data/test/command/push_command_test.rb +9 -1
  147. data/test/command/show_deployment_command_test.rb +36 -0
  148. data/test/command/show_group_command_test.rb +2 -1
  149. data/test/command/show_libraryset_command_test.rb +5 -3
  150. data/test/command/show_metrics_command_test.rb +4 -4
  151. data/test/command/show_plugin_command_test.rb +4 -4
  152. data/test/command/show_project_command_test.rb +5 -17
  153. data/test/command/show_project_snapshot_test.rb +33 -0
  154. data/test/command/show_projecttype_command_test.rb +5 -11
  155. data/test/command/show_role_command_test.rb +5 -12
  156. data/test/command/show_solution_command_test.rb +2 -15
  157. data/test/command/show_user_command_test.rb +4 -3
  158. data/test/command/submit_deployment_command_test.rb +4 -11
  159. data/test/command/unarchive_project_command_test.rb +2 -14
  160. data/test/command/unarchive_solution_command_test.rb +6 -16
  161. data/test/command/update_config_command_test.rb +14 -3
  162. data/test/command/update_deployment_command_test.rb +12 -26
  163. data/test/command/update_group_command_test.rb +2 -10
  164. data/test/command/update_librarylanguage_command_test.rb +5 -3
  165. data/test/command/update_libraryset_command_test.rb +4 -2
  166. data/test/command/update_plugin_command_test.rb +5 -4
  167. data/test/command/update_project_command_test.rb +6 -20
  168. data/test/command/update_role_command_test.rb +11 -8
  169. data/test/command/update_solution_command_test.rb +6 -12
  170. data/test/command/update_user_command_test.rb +3 -19
  171. data/test/command/vote_deployment_command_test.rb +2 -6
  172. metadata +66 -63
  173. data/lib/epc/command/attach_library_command.rb +0 -82
  174. data/lib/epc/command/attach_libraryset_command.rb +0 -31
  175. data/lib/epc/command/attach_runtime_command.rb +0 -26
  176. data/lib/epc/command/bind_service_command.rb +0 -35
  177. data/lib/epc/command/create_dependency_command.rb +0 -43
  178. data/lib/epc/command/dependency/delete_dependency_command.rb +0 -38
  179. data/lib/epc/command/detach_library_command.rb +0 -35
  180. data/lib/epc/command/detach_libraryset_command.rb +0 -8
  181. data/lib/epc/command/list_versions_command.rb +0 -38
  182. data/lib/epc/command/submit_deployment_command.rb +0 -19
  183. data/lib/epc/command/unbind_service_command.rb +0 -42
  184. data/lib/epc/command/undefine_service_command.rb +0 -33
  185. data/lib/epc/command/update_rolepermissions_command.rb +0 -83
  186. data/lib/epc/command/vote_deployment_command.rb +0 -29
  187. data/test/command/attach_library_command_test.rb +0 -124
  188. data/test/command/attach_libraryset_command_test.rb +0 -49
  189. data/test/command/attach_runtime_command_test.rb +0 -44
  190. data/test/command/bind_service_command_test.rb +0 -46
  191. data/test/command/create_dependency_command_test.rb +0 -55
  192. data/test/command/create_plugin_command_test.rb +0 -44
  193. data/test/command/delete_dependency_command_test.rb +0 -42
  194. data/test/command/detach_library_command_test.rb +0 -53
  195. data/test/command/unbind_service_command_test.rb +0 -48
  196. data/test/command/undefine_service_command_test.rb +0 -49
@@ -19,7 +19,7 @@ class CreateGroupCommandTest < Test::Unit::TestCase
19
19
  @mock_client.expects(:post).with(EPC::Config::GROUPS_PATH, {:name => "group"}).
20
20
  returns([500, {:message => "System exception"}, {}])
21
21
  @command.expects(:say).with("Failed to create [group] group: [System exception]")
22
- assert_equal(@command.execute("", "group"), 500)
22
+ assert_equal(@command.execute(["group"]), 500)
23
23
  end
24
24
 
25
25
  should "request the creation of the group" do
@@ -28,7 +28,7 @@ class CreateGroupCommandTest < Test::Unit::TestCase
28
28
  returns([201, {}, {}])
29
29
  @command.expects(:say).with("Group [admins] created")
30
30
 
31
- assert_equal(@command.execute("", "admins"), 201)
31
+ assert_equal(@command.execute(["admins"]), 201)
32
32
  end
33
33
  end
34
34
  end
@@ -11,7 +11,7 @@ class CreateLibraryCommandTest < Test::Unit::TestCase
11
11
 
12
12
  should "fail if arguments are not correct" do
13
13
  assert_raise EPC::Error::FatalError do
14
- assert_equal(@command.execute("", "lib1", "ruby"), 1)
14
+ assert_equal(@command.execute(["lib1", "ruby"]), 1)
15
15
  end
16
16
  end
17
17
 
@@ -20,13 +20,13 @@ class CreateLibraryCommandTest < Test::Unit::TestCase
20
20
  @mock_client.expects(:post).returns([201, {}, {}])
21
21
  @command.expects(:say)
22
22
 
23
- assert_equal(@command.execute("", "lib1", "ruby", "1"), 201)
23
+ assert_equal(@command.execute(["lib1", "ruby", "1"]), 201)
24
24
  end
25
25
 
26
26
  should "fail if it can't determine the language id" do
27
27
  @command.expects(:retrieve_identifier_for).returns(nil)
28
28
  assert_raise EPC::Error::InputError do
29
- assert_equal(@command.execute("", "lib1", "ruby", "1"), 1)
29
+ assert_equal(@command.execute(["lib1", "ruby", "1"]), 1)
30
30
  end
31
31
 
32
32
  end
@@ -36,7 +36,7 @@ class CreateLibraryCommandTest < Test::Unit::TestCase
36
36
  @mock_client.expects(:post).returns([404, {:message => "Not Found"}, {}])
37
37
  @command.expects(:say).with("Request failed: [Not Found]")
38
38
 
39
- assert_equal(@command.execute("", "lib1", 1, "0.2", "my_grp"), 404)
39
+ assert_equal(@command.execute(["lib1", 1, "0.2", "my_grp"]), 404)
40
40
  end
41
41
 
42
42
  should "create a library" do
@@ -45,7 +45,7 @@ class CreateLibraryCommandTest < Test::Unit::TestCase
45
45
  returns([201, {:id => 1}, {}])
46
46
  @command.expects(:say).with("Created library [lib1] with ID [1]")
47
47
 
48
- @command.execute("", "lib1", 1, "0.2", "my_grp")
48
+ @command.execute(["lib1", 1, "0.2", "my_grp"])
49
49
  end
50
50
 
51
51
  context "library with a file to upload" do
@@ -56,7 +56,7 @@ class CreateLibraryCommandTest < Test::Unit::TestCase
56
56
  @command.expects(:sha1).with("/a/file")
57
57
  @command.expects(:upload_library).with("/a/file", "http://foo", "abc")
58
58
  @command.options[:file] ="/a/file"
59
- assert_equal(@command.execute("", "lib1", 1, "0.2", "my_grp"), 201)
59
+ assert_equal(@command.execute(["lib1", 1, "0.2", "my_grp"]), 201)
60
60
  end
61
61
  end
62
62
 
@@ -19,7 +19,7 @@ class CreateLibrarylanguageCommandTest < Test::Unit::TestCase
19
19
  @mock_client.expects(:post).with(EPC::Config::LIBRARY_LANGUAGES_PATH, {:name => "ruby"}).
20
20
  returns([500, {:message => "System exception"}, {}])
21
21
  @command.expects(:say).with("Failed to create [ruby] language: [System exception]")
22
- assert_equal(@command.execute("", "ruby"), 1)
22
+ assert_equal(@command.execute(["ruby"]), 1)
23
23
  end
24
24
 
25
25
 
@@ -32,7 +32,7 @@ class CreateLibrarylanguageCommandTest < Test::Unit::TestCase
32
32
  returns([201, {}, {}])
33
33
  @command.expects(:say).with("Language [java] added")
34
34
 
35
- assert_equal(@command.execute("", "ruby", "java"), 0)
35
+ assert_equal(@command.execute(["ruby", "java"]), 0)
36
36
  end
37
37
 
38
38
 
@@ -45,7 +45,7 @@ class CreateLibrarylanguageCommandTest < Test::Unit::TestCase
45
45
  returns([201, {}, {}])
46
46
  @command.expects(:say).with("Language [java] added")
47
47
 
48
- assert_equal(@command.execute("", "ruby", "java"), 0)
48
+ assert_equal(@command.execute(["ruby", "java"]), 0)
49
49
  end
50
50
  end
51
51
  end
@@ -7,40 +7,20 @@ class CreateLibrarysetCommandTest < Test::Unit::TestCase
7
7
  setup do
8
8
  @mock_client = mock("Client")
9
9
  @command = EPC::Command::CreateLibrarysetCommand.new(@mock_client)
10
+ @command.expects(:retrieve_identifier_for).returns(1)
10
11
  end
11
12
 
12
-
13
- should "fail if no name is specified" do
14
- assert_raise EPC::Error::FatalError do
15
- assert_equal(@command.execute(""), 1)
16
- end
17
- end
18
-
19
- should "fail if no language is specified" do
20
- assert_raise EPC::Error::FatalError do
21
- @command.execute("", "set")
22
- end
23
- end
24
-
25
-
26
13
  should "create the set with a language associated if one specified" do
27
14
  @mock_client.expects(:post).with(EPC::Config::LIBRARY_SETS_PATH, {:name => "rubylibs", :language_id => 1}).returns([201, {}, {}])
28
15
  @command.expects(:say)
29
- assert_equal(@command.execute("", "rubylibs", "1"), 201)
30
- end
31
-
32
- should "retrieve the language id" do
33
- @command.expects(:retrieve_identifier_for).returns(1)
34
- @mock_client.expects(:post).with(EPC::Config::LIBRARY_SETS_PATH, {:name => "rubylibs", :language_id => 1}).returns([201, {}, {}])
35
- @command.expects(:say)
36
- assert_equal(@command.execute("", "rubylibs", "ruby"), 201)
16
+ assert_equal(@command.execute(["rubylibs", "1"]), 201)
37
17
  end
38
18
 
39
19
  should "fail if status is not 201" do
40
20
  @mock_client.expects(:post).with(EPC::Config::LIBRARY_SETS_PATH, {:name => "rubylibs", :language_id => 1}).
41
21
  returns([500, {:message => "System exception"}, {}])
42
22
  @command.expects(:say).with("Request failed: [System exception]")
43
- assert_equal(@command.execute("", "rubylibs", "1"), 500)
23
+ assert_equal(@command.execute(["rubylibs", "1"]), 500)
44
24
  end
45
25
 
46
26
  should "create the set" do
@@ -48,7 +28,7 @@ class CreateLibrarysetCommandTest < Test::Unit::TestCase
48
28
  returns([201, {}, {}])
49
29
  @command.expects(:say).with("Set [rubylibs] created")
50
30
 
51
- assert_equal(@command.execute("", "rubylibs", "1"), 201)
31
+ assert_equal(@command.execute(["rubylibs", "1"]), 201)
52
32
  end
53
33
 
54
34
  context "adding from file" do
@@ -65,7 +45,7 @@ class CreateLibrarysetCommandTest < Test::Unit::TestCase
65
45
  @mock_client.expects(:post).with(EPC::Config::LIBRARY_SETS_PATH + "/1/attach_library", :library_id => 1).returns([200, {}, {}])
66
46
  @command.expects(:say).with("Library [1] added to set")
67
47
 
68
- assert_equal(@command.execute("", "rubylibs", "1"), 0)
48
+ assert_equal(@command.execute(["rubylibs", "1"]), 0)
69
49
  end
70
50
 
71
51
  should "notify when a library fails to be attached" do
@@ -74,7 +54,7 @@ class CreateLibrarysetCommandTest < Test::Unit::TestCase
74
54
  @mock_client.expects(:post).with(EPC::Config::LIBRARY_SETS_PATH + "/1/attach_library", :library_id => 1).returns([404, {:message => "Not Found"}, {}])
75
55
  @command.expects(:say).with("Failed to add [1]: [Not Found]")
76
56
 
77
- assert_equal(@command.execute("", "rubylibs", "1"), 1)
57
+ assert_equal(@command.execute(["rubylibs", "1"]), 1)
78
58
  end
79
59
  end
80
60
  end
@@ -7,30 +7,21 @@ class CreateObjectroleCommandTest < Test::Unit::TestCase
7
7
  setup do
8
8
  @mock_client = mock("Client")
9
9
  @command = EPC::Command::CreateObjectroleCommand.new(@mock_client)
10
+ @command.target_id = "1"
11
+ @command.target_type = "Solution"
10
12
  end
11
13
 
12
- should "fail if no role name and object specified" do
13
- assert_raise EPC::Error::FatalError do
14
- @command.execute
15
- end
16
- end
17
-
18
- should "fail if object is not specified correctly" do
19
- assert_raise EPC::Error::FatalError do
20
- @command.execute("Solution", "admin")
21
- end
22
- end
23
14
 
24
15
  should "request creation of the role" do
25
16
  @mock_client.expects(:post).with(EPC::Config::ROLES_PATH, {:name => "Admin", :owner_id => "1", :owner_type => "Solution"}).returns([200, {}, {}])
26
17
  @command.expects(:say).with("Role [Admin] created")
27
- @command.execute("Solution:1", "Admin")
18
+ @command.execute(["Admin"])
28
19
  end
29
20
 
30
21
  should "report reason for request failure" do
31
22
  @mock_client.expects(:post).with(EPC::Config::ROLES_PATH, {:name => "Admin", :owner_id => "1", :owner_type => "Solution"}).returns([500, {:message => "System Exception"}, {}])
32
23
  @command.expects(:say).with("Request failed: [System Exception]")
33
- @command.execute("Solution:1", "Admin")
24
+ @command.execute(["Admin"])
34
25
  end
35
26
  end
36
27
 
@@ -10,11 +10,11 @@ class CreateProjectCommandTest < Test::Unit::TestCase
10
10
  @command = EPC::Command::CreateProjectCommand.new(@mock_client)
11
11
  end
12
12
 
13
- should "report error if project_name is nil" do
13
+ should "report error if the project name is nil" do
14
14
  @command.expects(:infer_solution_context).never
15
15
  @mock_client.expects(:post).never
16
16
  assert_raise EPC::Error::FatalError do
17
- @command.execute(nil)
17
+ @command.execute
18
18
  end
19
19
  end
20
20
 
@@ -22,7 +22,7 @@ class CreateProjectCommandTest < Test::Unit::TestCase
22
22
  @command.options[:type] = 1
23
23
  @command.expects(:infer_solution_context).returns(nil)
24
24
  assert_raise EPC::Error::InputError do
25
- assert_equal(@command.execute("", "FirstProject"), 1)
25
+ assert_equal(@command.execute(["FirstProject"]), 1)
26
26
  end
27
27
  end
28
28
  end
@@ -41,7 +41,7 @@ class CreateProjectCommandTest < Test::Unit::TestCase
41
41
  should "create the project directory if the status is 201" do
42
42
  @command.options[:type] = "Ruby"
43
43
  @command.expects(:get_resource_id).with(EPC::Config::PROJECT_TYPES_PATH, :name, "Ruby", :case_sensitivity => false).returns(1)
44
- @mock_client.expects(:post).with("/api/v1/projects", { :project_name => 'FirstProject', :solution_name => "FirstSolution", :uri_name => "FirstProject", :project_type_id => 1 }).
44
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'FirstProject', :solution_name => "FirstSolution", :uri_name => "FirstProject", :project_type_id => 1, :runtime_memory => nil }).
45
45
  returns([201, { :id => 1, :current_version_number => 99 }, {}])
46
46
  EPC::Config.expects(:write_project_metadata).with(1, @mock_client)
47
47
 
@@ -49,24 +49,24 @@ class CreateProjectCommandTest < Test::Unit::TestCase
49
49
  @command.expects(:mkdir).with("FirstProject").returns(:ok)
50
50
  @command.expects(:say).with("Successfully created the project with [http://localhost:3000] and created your local directory.")
51
51
 
52
- assert_equal(@command.execute("", "FirstProject"), 201)
52
+ assert_equal(@command.execute(["FirstProject"]), 201)
53
53
  end
54
54
 
55
55
  should "skip directory creation if --nodir option was passed" do
56
56
  @command.instance_variable_get(:@options)[:nodir] = true
57
57
 
58
- @mock_client.expects(:post).with("/api/v1/projects", { :project_name => 'FirstProject', :solution_name => "FirstSolution", :uri_name => "FirstProject", :project_type_id => 1 }).
58
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'FirstProject', :solution_name => "FirstSolution", :uri_name => "FirstProject", :project_type_id => 1, :runtime_memory => nil }).
59
59
  returns([201, { :id => 1, :current_version_number => 99 }, {}])
60
60
 
61
61
  @command.expects(:ask_yn).returns("Y")
62
62
  @command.expects(:say).with("Successfully created the project with [http://localhost:3000]")
63
63
 
64
- assert_equal(@command.execute("", "FirstProject"), 201)
64
+ assert_equal(@command.execute(["FirstProject"]), 201)
65
65
  end
66
66
 
67
67
  should "report failure if the status is 201 and the solution directory cannot be created" do
68
68
 
69
- @mock_client.expects(:post).with("/api/v1/projects", { :project_name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1 }).
69
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1, :runtime_memory => nil }).
70
70
  returns([201, { :id => 1, :current_version_number => 99 }, {}])
71
71
  FileUtils.expects(:mkdir).with("TestProject", {}).raises(SystemCallError.new("File exists - TestProject"))
72
72
 
@@ -74,29 +74,43 @@ class CreateProjectCommandTest < Test::Unit::TestCase
74
74
  @command.expects(:say).with("Failed to create local directory [TestProject] - [unknown error - File exists - TestProject]")
75
75
  @command.expects(:say).with("Successfully created the project with [http://localhost:3000], but FAILED to create your local directory.")
76
76
 
77
- assert_equal(@command.execute("", "TestProject"), 201)
77
+ assert_equal(@command.execute(["TestProject"]), 201)
78
+ end
79
+
80
+ should "send the runtime memory when supplied" do
81
+ @command.options[:type] = "Ruby"
82
+ @command.expects(:get_resource_id).with(EPC::Config::PROJECT_TYPES_PATH, :name, "Ruby", :case_sensitivity => false).returns(1)
83
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'FirstProject', :solution_name => "FirstSolution", :uri_name => "FirstProject", :project_type_id => 1, :runtime_memory => 128 }).
84
+ returns([201, { :id => 1, :current_version_number => 99 }, {}])
85
+ EPC::Config.expects(:write_project_metadata).with(1, @mock_client)
86
+
87
+ @command.expects(:ask_yn).returns("Y")
88
+ @command.expects(:mkdir).with("FirstProject").returns(:ok)
89
+ @command.expects(:say).with("Successfully created the project with [http://localhost:3000] and created your local directory.")
90
+
91
+ assert_equal(@command.execute(["FirstProject",nil,128]), 201)
78
92
  end
79
93
 
80
94
  should "report failure if the status is not 201" do
81
95
 
82
- @mock_client.expects(:post).with("/api/v1/projects", { :project_name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1 }).
96
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1, :runtime_memory => nil }).
83
97
  returns([400, { :message => "Bad Request" }, {}])
84
98
 
85
99
  @command.expects(:ask_yn).returns("Y")
86
100
  @command.expects(:say).with("Project creation failed [Bad Request].")
87
101
 
88
- assert_equal(@command.execute("", "TestProject"), 400)
102
+ assert_equal(@command.execute(["TestProject"]), 400)
89
103
  end
90
104
 
91
105
  should "report error if the call throws an exception" do
92
106
 
93
- @mock_client.expects(:post).with("/api/v1/projects", { :project_name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1 }).
107
+ @mock_client.expects(:post).with("/api/v1/projects", { :name => 'TestProject', :solution_name => "FirstSolution", :uri_name => "TestProject", :project_type_id => 1, :runtime_memory => nil }).
94
108
  raises(StandardError.new("failed"))
95
109
 
96
110
  @command.expects(:ask_yn).returns("Y")
97
111
  @command.expects(:say).with("Project creation failed [failed].")
98
112
 
99
- assert_equal(@command.execute("", "TestProject"), 1)
113
+ assert_equal(@command.execute(["TestProject"]), 1)
100
114
  end
101
115
  end
102
116
  end
@@ -6,6 +6,7 @@ class CreateRoleCommandTest < Test::Unit::TestCase
6
6
  context "execute" do
7
7
  setup do
8
8
  @mock_client = mock("Client")
9
+ EPC::Command::CreateRoleCommand.send :include, EPC::Command::Role
9
10
  @command = EPC::Command::CreateRoleCommand.new(@mock_client)
10
11
  end
11
12
 
@@ -18,13 +19,13 @@ class CreateRoleCommandTest < Test::Unit::TestCase
18
19
  should "request creation of the role" do
19
20
  @mock_client.expects(:post).with(EPC::Config::ROLES_PATH, {:name => "Admin"}).returns([200, {}, {}])
20
21
  @command.expects(:say).with("Role [Admin] created")
21
- @command.execute("", "Admin")
22
+ @command.execute(["Admin"])
22
23
  end
23
24
 
24
25
  should "report reason for request failure" do
25
26
  @mock_client.expects(:post).with(EPC::Config::ROLES_PATH, {:name => "Admin"}).returns([500, {:message => "System Exception"}, {}])
26
27
  @command.expects(:say).with("Request failed: [System Exception]")
27
- @command.execute("", "Admin")
28
+ @command.execute(["Admin"])
28
29
  end
29
30
  end
30
31
 
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class CreateRuntimeCommandTest < Test::Unit::TestCase
4
+ should_require_login
5
+
6
+ context "execute" do
7
+ setup do
8
+ @mock_client = mock("Client")
9
+ @command = EPC::Command::CreateRuntimeCommand.new(@mock_client)
10
+ @command.target_id = 1
11
+ @command.target_type = "RuntimeType"
12
+ end
13
+
14
+ should "fail if mandatory attributes not specified" do
15
+ assert_raise EPC::Error::FatalError do
16
+ @command.execute
17
+ end
18
+ end
19
+
20
+ should "request creation of the runtime" do
21
+ @command.expects(:retrieve_identifier_for).returns(1)
22
+ @mock_client.expects(:post).with(EPC::Config::RUNTIMES_PATH, {:name => "runtime", :target => "runtime_target", :runtime_env_type_id => 1, :deployment_stage_id => 1, :username => "user", :password => "pass"}).returns([200, {}, {}])
23
+ @command.expects(:say).with("Runtime [runtime] created")
24
+ @command.execute(["runtime", "runtime_target", "Development", "user", "pass" ])
25
+ end
26
+
27
+ should "report reason for request failure" do
28
+ @command.expects(:retrieve_identifier_for).returns(1)
29
+ @mock_client.expects(:post).with(EPC::Config::RUNTIMES_PATH, {:name => "runtime", :target => "runtime_target", :runtime_env_type_id => 1, :deployment_stage_id => 1, :username => "user", :password => "pass"}).returns([500, {:message => "System Exception"}, {}])
30
+ @command.expects(:say).with("Request failed: [System Exception]")
31
+ @command.execute(["runtime", "runtime_target", "Development", "user", "pass" ])
32
+ end
33
+
34
+ end
35
+
36
+
37
+ end
@@ -6,37 +6,24 @@ require 'mocha'
6
6
  class CreateServicedefinitionCommandTest < Test::Unit::TestCase
7
7
  should_require_login
8
8
 
9
- context "execution" do
10
- setup do
11
- @mock_client = mock('Client')
12
- end
13
-
14
- should "require both the name and service type" do
15
- @command = EPC::Command::CreateServicedefinitionCommand.new(@mock_client)
16
- assert_raise EPC::Error::FatalError do
17
- @command.execute("")
18
- end
19
- end
20
-
21
- end
22
-
23
9
  context "service definition" do
24
10
  setup do
25
11
  @mock_client = stub('Client')
26
12
  @command = EPC::Command::CreateServicedefinitionCommand.new(@mock_client, {:service_type => "MySQL"})
27
- @command.expects(:retrieve_identifier_for).returns(1)
13
+ @command.target_id = 1
14
+ @command.target_type = "ServiceVersion"
28
15
  end
29
16
 
30
17
  should "fail if status is not 201" do
31
18
  @mock_client.expects(:post).with(EPC::Config::SERVICE_DEFINITIONS_PATH, {:name => "service", :type_id => 1}).returns([400, {:message => 'Not Found'}])
32
19
  @command.expects(:say).with("Service definition failed with: [Not Found]")
33
- @command.execute("", "service", "MySQL")
20
+ @command.execute(["service", "MySQL"])
34
21
  end
35
22
 
36
23
  should "define a service" do
37
24
  @mock_client.expects(:post).with(EPC::Config::SERVICE_DEFINITIONS_PATH, {:name => "service", :type_id => 1}).returns([201, {'id' => 1}])
38
25
  @command.expects(:say).with("service has been defined.")
39
- @command.execute("", "service", "MySQL")
26
+ @command.execute(["service", "MySQL"])
40
27
  end
41
28
  end
42
29
  end
@@ -9,36 +9,23 @@ class CreateServiceversionCommandTest < Test::Unit::TestCase
9
9
  setup do
10
10
  @mock_client = mock("Client")
11
11
  @command = EPC::Command::CreateServiceversionCommand.new(@mock_client)
12
+ @command.target_id = 1
13
+ @command.target_type = "ServiceDefinition"
12
14
  end
13
15
 
14
- should "require the user to input label and service definition" do
15
-
16
- assert_raise EPC::Error::FatalError do
17
- assert_equal(@command.execute(""), 1)
18
- end
19
- end
20
-
21
- should "query for the definition id and notify the user if it wasn't found" do
22
- @command.expects(:get_resource_id).returns(nil)
23
- assert_raise EPC::Error::InputError do
24
- assert_equal(@command.execute("", "main_db", "mysql"), 1)
25
- end
26
- end
27
-
28
-
29
16
  should "show a message if status is not 201" do
30
- @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :definition_id => 1, :up_script => nil, :down_script => nil}).
17
+ @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :service_definition_id => 1, :up_script => nil, :down_script => nil, :backwards_compatible => "false", :reversible => "false"}).
31
18
  returns([404, {:message => "Not Found"}, {}])
32
19
  @command.expects(:say).with("Request failed: [Not Found]")
33
20
 
34
- assert_equal(@command.execute("", "main_db", 1), 404)
21
+ assert_equal(@command.execute(["main_db"]), 404)
35
22
  end
36
23
 
37
24
  should "create a service version with core" do
38
- @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :definition_id => 1, :up_script => nil, :down_script => nil}).
25
+ @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :service_definition_id => 1, :up_script => nil, :down_script => nil, :backwards_compatible => "false", :reversible => "false"}).
39
26
  returns([201, {}, {}])
40
27
  @command.expects(:say).with("Service version successfully created.")
41
- assert_equal(@command.execute("", "main_db", 1), 201)
28
+ assert_equal(@command.execute(["main_db"]), 201)
42
29
  end
43
30
 
44
31
  should "allow up/down scripts" do
@@ -49,12 +36,11 @@ class CreateServiceversionCommandTest < Test::Unit::TestCase
49
36
  @command.expects(:read_file).with("down_script.rb").returns("down()")
50
37
 
51
38
 
52
- @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :definition_id => 1, :up_script => "up()", :down_script => "down()"}).
39
+ @mock_client.expects(:post).with(EPC::Config::SERVICE_VERSIONS_PATH, {:label => "main_db", :service_definition_id => 1, :up_script => "up()", :down_script => "down()", :backwards_compatible => 'false', :reversible => "false"}).
53
40
  returns([201, {}, {}])
54
41
  @command.expects(:say).with("Service version successfully created.")
55
- assert_equal(@command.execute("", "main_db", 1), 201)
42
+ assert_equal(@command.execute(["main_db"]), 201)
56
43
  end
57
44
 
58
45
  end
59
46
  end
60
-