epc 1.0.4 → 1.0.6
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.
- data/lib/epc.rb +3 -0
- data/lib/epc/client/base_client.rb +2 -1
- data/lib/epc/client/json_client.rb +22 -0
- data/lib/epc/command/archive_command.rb +1 -1
- data/lib/epc/command/attachto_command.rb +1 -1
- data/lib/epc/command/base_command.rb +35 -25
- data/lib/epc/command/build_command.rb +2 -2
- data/lib/epc/command/config/create_config_command.rb +1 -1
- data/lib/epc/command/config/delete_config_command.rb +4 -4
- data/lib/epc/command/config/list_configs_command.rb +1 -1
- data/lib/epc/command/config/update_config_command.rb +3 -3
- data/lib/epc/command/copy_command.rb +1 -1
- data/lib/epc/command/create_command.rb +1 -1
- data/lib/epc/command/delete_command.rb +2 -2
- data/lib/epc/command/deploy_command.rb +4 -3
- data/lib/epc/command/deployment/copy_deployment_command.rb +1 -1
- data/lib/epc/command/deployment/create_deployment_command.rb +3 -3
- data/lib/epc/command/deployment/list_deployments_command.rb +1 -1
- data/lib/epc/command/deployment/show_deployment_command.rb +1 -1
- data/lib/epc/command/deployment/submit_deployment_command.rb +1 -1
- data/lib/epc/command/deployment/update_deployment_command.rb +1 -1
- data/lib/epc/command/deployment/vote_deployment_command.rb +1 -1
- data/lib/epc/command/deploymentstage/list_deploymentstages_command.rb +1 -1
- data/lib/epc/command/detachfrom_command.rb +1 -1
- data/lib/epc/command/group/create_group_command.rb +1 -1
- data/lib/epc/command/group/delete_group_command.rb +1 -1
- data/lib/epc/command/group/list_groups_command.rb +1 -1
- data/lib/epc/command/group/show_group_command.rb +2 -1
- data/lib/epc/command/group/update_group_command.rb +1 -1
- data/lib/epc/command/library/create_library_command.rb +2 -2
- data/lib/epc/command/library/delete_library_command.rb +1 -1
- data/lib/epc/command/library/list_libraries_command.rb +1 -1
- data/lib/epc/command/librarylanguage/create_librarylanguage_command.rb +1 -1
- data/lib/epc/command/librarylanguage/delete_librarylanguage_command.rb +1 -1
- data/lib/epc/command/librarylanguage/list_librarylanguages_command.rb +1 -1
- data/lib/epc/command/librarylanguage/update_librarylanguage_command.rb +1 -1
- data/lib/epc/command/libraryset/create_libraryset_command.rb +2 -2
- data/lib/epc/command/libraryset/delete_libraryset_command.rb +1 -1
- data/lib/epc/command/libraryset/list_librarysets_command.rb +1 -1
- data/lib/epc/command/libraryset/show_libraryset_command.rb +1 -1
- data/lib/epc/command/libraryset/update_libraryset_command.rb +3 -3
- data/lib/epc/command/list_command.rb +1 -1
- data/lib/epc/command/objectrole/create_objectrole_command.rb +2 -1
- data/lib/epc/command/objectrole/list_objectroles_command.rb +1 -1
- data/lib/epc/command/objectrole/update_objectrole_command.rb +5 -1
- data/lib/epc/command/permission/list_permissions_command.rb +1 -1
- data/lib/epc/command/permissiongroup/list_permissiongroups_command.rb +1 -1
- data/lib/epc/command/plugin/create_plugin_command.rb +1 -1
- data/lib/epc/command/plugin/delete_plugin_command.rb +1 -1
- data/lib/epc/command/plugin/list_plugins_command.rb +1 -1
- data/lib/epc/command/plugin/show_plugin_command.rb +1 -1
- data/lib/epc/command/plugin/update_plugin_command.rb +2 -2
- data/lib/epc/command/project/archive_project_command.rb +1 -1
- data/lib/epc/command/project/attachto_project_command.rb +3 -3
- data/lib/epc/command/project/create_project_command.rb +2 -2
- data/lib/epc/command/project/delete_project_command.rb +1 -1
- data/lib/epc/command/project/detachfrom_project_command.rb +4 -4
- data/lib/epc/command/project/list_projects_command.rb +1 -1
- data/lib/epc/command/project/show_project_command.rb +2 -1
- data/lib/epc/command/project/unarchive_project_command.rb +1 -2
- data/lib/epc/command/project/update_project_command.rb +2 -2
- data/lib/epc/command/projecttype/create_projecttype_command.rb +3 -3
- data/lib/epc/command/projecttype/delete_projecttype_command.rb +2 -1
- data/lib/epc/command/projecttype/list_projecttypes_command.rb +1 -1
- data/lib/epc/command/projecttype/show_projecttype_command.rb +2 -1
- data/lib/epc/command/projecttype/update_projecttype_command.rb +4 -3
- data/lib/epc/command/pull_command.rb +12 -10
- data/lib/epc/command/push_command.rb +45 -29
- data/lib/epc/command/role/create_role_command.rb +1 -1
- data/lib/epc/command/role/delete_role_command.rb +2 -1
- data/lib/epc/command/role/list_roles_command.rb +2 -5
- data/lib/epc/command/role/show_role_command.rb +2 -2
- data/lib/epc/command/role/update_role_command.rb +1 -1
- data/lib/epc/command/runtime/create_runtime_command.rb +1 -1
- data/lib/epc/command/runtime/delete_runtime_command.rb +2 -1
- data/lib/epc/command/runtime/list_runtimes_command.rb +1 -1
- data/lib/epc/command/runtime/update_runtime_command.rb +4 -3
- data/lib/epc/command/runtimetype/list_runtimetypes_command.rb +1 -1
- data/lib/epc/command/servicedefinition/create_servicedefinition_command.rb +2 -2
- data/lib/epc/command/servicedefinition/delete_servicedefinition_command.rb +1 -1
- data/lib/epc/command/servicedefinition/list_servicedefinitions_command.rb +1 -1
- data/lib/epc/command/servicetype/list_servicetypes_command.rb +1 -1
- data/lib/epc/command/serviceversion/create_serviceversion_command.rb +2 -2
- data/lib/epc/command/serviceversion/delete_serviceversion_command.rb +3 -1
- data/lib/epc/command/serviceversion/list_serviceversions_command.rb +1 -1
- data/lib/epc/command/show_command.rb +1 -1
- data/lib/epc/command/solution/archive_solution_command.rb +1 -1
- data/lib/epc/command/solution/create_solution_command.rb +2 -2
- data/lib/epc/command/solution/delete_solution_command.rb +1 -1
- data/lib/epc/command/solution/list_solutions_command.rb +1 -1
- data/lib/epc/command/solution/show_solution_command.rb +1 -1
- data/lib/epc/command/solution/unarchive_solution_command.rb +1 -1
- data/lib/epc/command/solution/update_solution_command.rb +1 -1
- data/lib/epc/command/submit_command.rb +1 -1
- data/lib/epc/command/unarchive_command.rb +1 -1
- data/lib/epc/command/update_command.rb +1 -1
- data/lib/epc/command/user/create_user_command.rb +1 -1
- data/lib/epc/command/user/delete_user_command.rb +1 -1
- data/lib/epc/command/user/list_users_command.rb +1 -1
- data/lib/epc/command/user/show_user_command.rb +2 -1
- data/lib/epc/command/user/update_user_command.rb +3 -3
- data/lib/epc/command/userproperty/delete_user_property_command.rb +48 -0
- data/lib/epc/command/userproperty/get_user_property_command.rb +61 -0
- data/lib/epc/command/userproperty/list_user_properties_command.rb +1 -1
- data/lib/epc/command/userproperty/set_user_property_command.rb +52 -0
- data/lib/epc/command/vote_command.rb +1 -1
- data/lib/epc/config.rb +12 -0
- data/lib/epc/help.rb +20 -8
- data/lib/epc/runner.rb +22 -11
- data/lib/epc/version.rb +1 -1
- data/test/command/archive_project_command_test.rb +1 -1
- data/test/command/archive_solution_command_test.rb +1 -1
- data/test/command/build_command_test.rb +1 -1
- data/test/command/copy_deployment_command_test.rb +1 -1
- data/test/command/create_config_command_test.rb +1 -1
- data/test/command/create_deployment_command_test.rb +3 -3
- data/test/command/create_group_command_test.rb +1 -1
- data/test/command/create_library_command_test.rb +1 -1
- data/test/command/create_librarylanguage_command_test.rb +2 -2
- data/test/command/create_libraryset_command_test.rb +2 -2
- data/test/command/create_objectrole_command_test.rb +1 -1
- data/test/command/create_project_command_test.rb +2 -2
- data/test/command/create_projecttypes_command_test.rb +33 -0
- data/test/command/create_role_command_test.rb +10 -1
- data/test/command/create_runtime_command_test.rb +1 -1
- data/test/command/create_servicedefinition_command_test.rb +1 -1
- data/test/command/create_serviceversion_command_test.rb +1 -1
- data/test/command/create_solution_command_test.rb +2 -2
- data/test/command/create_user_command_test.rb +1 -1
- data/test/command/delete_config_command_test.rb +3 -3
- data/test/command/delete_library_command_test.rb +1 -1
- data/test/command/delete_librarylanguage_command_test.rb +1 -1
- data/test/command/delete_libraryset_command_test.rb +1 -1
- data/test/command/delete_plugin_command_test.rb +1 -1
- data/test/command/delete_project_command_test.rb +1 -1
- data/test/command/delete_projecttype_command_test.rb +1 -1
- data/test/command/delete_role_command_test.rb +1 -1
- data/test/command/delete_runtime_command_test.rb +1 -1
- data/test/command/delete_servicedefinition_command_test.rb +1 -1
- data/test/command/delete_serviceversion_command_test.rb +1 -1
- data/test/command/delete_solution_command_test.rb +1 -1
- data/test/command/delete_user_command_test.rb +1 -1
- data/test/command/delete_user_property_command_test.rb +60 -0
- data/test/command/deploy_command_test.rb +14 -6
- data/test/command/get_user_property_command_test.rb +58 -0
- data/test/command/list_command_test.rb +28 -0
- data/test/command/list_config_command_test.rb +1 -1
- data/test/command/list_deployments_command_test.rb +1 -1
- data/test/command/list_deploymentstages_command_test.rb +1 -1
- data/test/command/list_libraries_command_test.rb +1 -1
- data/test/command/list_librarylanguages_command_test.rb +1 -1
- data/test/command/list_librarysets_command_test.rb +1 -1
- data/test/command/list_objectroles_command_test.rb +1 -1
- data/test/command/list_permissiongroups_command_test.rb +1 -1
- data/test/command/list_permissions_command_test.rb +1 -1
- data/test/command/list_plugins_command_test.rb +1 -1
- data/test/command/list_projects_command_test.rb +1 -1
- data/test/command/list_projecttypes_command_test.rb +1 -1
- data/test/command/list_roles_command_test.rb +9 -1
- data/test/command/list_runtimes_command_test.rb +1 -1
- data/test/command/list_runtimetypes_command_test.rb +1 -1
- data/test/command/list_service_types_command_test.rb +1 -1
- data/test/command/list_servicedefinitions_command_test.rb +1 -1
- data/test/command/list_serviceversions_command_test.rb +1 -1
- data/test/command/list_solutions_command_test.rb +1 -1
- data/test/command/list_userproperties_command_test.rb +3 -3
- data/test/command/list_users_command_test.rb +1 -1
- data/test/command/pull_command_test.rb +8 -8
- data/test/command/push_command_test.rb +38 -8
- data/test/command/set_user_property_command_test.rb +50 -0
- data/test/command/show_command_test.rb +28 -0
- data/test/command/show_deployment_command_test.rb +1 -1
- data/test/command/show_group_command_test.rb +1 -1
- data/test/command/show_libraryset_command_test.rb +1 -1
- data/test/command/show_plugin_command_test.rb +1 -1
- data/test/command/show_project_command_test.rb +1 -1
- data/test/command/show_projecttype_command_test.rb +1 -1
- data/test/command/show_role_command_test.rb +1 -1
- data/test/command/show_solution_command_test.rb +1 -1
- data/test/command/show_user_command_test.rb +1 -1
- data/test/command/submit_deployment_command_test.rb +1 -1
- data/test/command/unarchive_project_command_test.rb +1 -1
- data/test/command/unarchive_solution_command_test.rb +1 -1
- data/test/command/update_config_command_test.rb +2 -2
- data/test/command/update_deployment_command_test.rb +1 -1
- data/test/command/update_group_command_test.rb +1 -1
- data/test/command/update_librarylanguage_command_test.rb +1 -1
- data/test/command/update_libraryset_command_test.rb +3 -3
- data/test/command/update_plugin_command_test.rb +2 -2
- data/test/command/update_project_command_test.rb +2 -2
- data/test/command/update_solution_command_test.rb +1 -1
- data/test/command/update_user_command_test.rb +2 -2
- data/test/command/vote_deployment_command_test.rb +1 -1
- metadata +38 -23
@@ -12,7 +12,7 @@ class ListLibrarysetsCommandTest < Test::Unit::TestCase
|
|
12
12
|
|
13
13
|
should "fail if status is not 200(ok)" do
|
14
14
|
@mock_client.expects(:get).with(EPC::Config::LIBRARY_SETS_PATH).returns([500, {:message => "System exception encountered"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed: [System exception encountered]")
|
16
16
|
assert_equal 500, @command.execute
|
17
17
|
end
|
18
18
|
|
@@ -15,7 +15,7 @@ class ListObjectrolesCommandTest < Test::Unit::TestCase
|
|
15
15
|
@mock_client.expects(:get).with(EPC::Config::ROLES_PATH + "/for_object/Solution/1").
|
16
16
|
returns([404, {:message => "Not Found"}, {}])
|
17
17
|
|
18
|
-
@command.expects(:
|
18
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
19
19
|
assert_equal(@command.execute, 404)
|
20
20
|
end
|
21
21
|
|
@@ -11,7 +11,7 @@ class ListPermissiongroupsCommandTest < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
should "show reason for request failure" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::PERMISSIONS_PATH).returns([500, {:message => "System Exception"}, {}])
|
14
|
-
@command.expects(:
|
14
|
+
@command.expects(:say_err).with("Request failed: [System Exception]")
|
15
15
|
assert_equal(@command.execute, 500)
|
16
16
|
end
|
17
17
|
|
@@ -13,7 +13,7 @@ class ListPermissionsCommandTest < Test::Unit::TestCase
|
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::PERMISSIONS_PATH).
|
14
14
|
returns([404, {:message => "Not Found"}, {}])
|
15
15
|
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
17
17
|
assert_equal(@command.execute, 404)
|
18
18
|
|
19
19
|
end
|
@@ -17,7 +17,7 @@ class ListPluginsCommandTest < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
should "report reason for request failure" do
|
19
19
|
@mock_client.expects(:get).with(EPC::Config::PLUGINS_PATH).returns([500, {:message => "System Exception"}, {}])
|
20
|
-
@command.expects(:
|
20
|
+
@command.expects(:say_err).with("Request failed: [System Exception]")
|
21
21
|
@command.execute("")
|
22
22
|
end
|
23
23
|
|
@@ -14,7 +14,7 @@ class ListProjectsCommandTest < Test::Unit::TestCase
|
|
14
14
|
should "show exception message status is not 201" do
|
15
15
|
@mock_client.expects(:get).with(EPC::Config::SOLUTIONS_PATH + "/1/projects").
|
16
16
|
returns([400, {:message => "Not Found"}, {}])
|
17
|
-
@command.expects(:
|
17
|
+
@command.expects(:say_err).with("Projects retrieval failed with [Not Found]")
|
18
18
|
|
19
19
|
assert_equal(@command.execute, 400)
|
20
20
|
end
|
@@ -12,7 +12,7 @@ class ListProjecttypesCommandTest < Test::Unit::TestCase
|
|
12
12
|
should "show exception message status is not 201" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::PROJECT_TYPES_PATH).
|
14
14
|
returns([400, {:message => "Not Found"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
16
16
|
|
17
17
|
assert_equal(@command.execute, 400)
|
18
18
|
end
|
@@ -13,7 +13,7 @@ class ListRolesCommandTest < Test::Unit::TestCase
|
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::ROLES_PATH + "?system_roles=true").
|
14
14
|
returns([404, {:message => "Not Found"}, {}])
|
15
15
|
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
17
17
|
assert_equal(@command.execute, 404)
|
18
18
|
end
|
19
19
|
|
@@ -34,6 +34,14 @@ class ListRolesCommandTest < Test::Unit::TestCase
|
|
34
34
|
assert_equal(@command.execute, 200)
|
35
35
|
end
|
36
36
|
|
37
|
+
should "only allow a user target" do
|
38
|
+
assert_raise EPC::Error::InputError do
|
39
|
+
@command.target_type = "Role"
|
40
|
+
@command.target_id = 1
|
41
|
+
@command.execute
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
37
45
|
should "retrieve roles for the user" do
|
38
46
|
@command.target_type = "User"
|
39
47
|
@command.target_id = 1
|
@@ -12,7 +12,7 @@ class ListRuntimesCommandTest < Test::Unit::TestCase
|
|
12
12
|
should "show exception message status is not 201" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::RUNTIMES_PATH).
|
14
14
|
returns([400, {:message => "Not Found"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed with: [Not Found]")
|
16
16
|
|
17
17
|
assert_equal(@command.execute, 400)
|
18
18
|
end
|
@@ -12,7 +12,7 @@ class ListRuntimetypesCommandTest < Test::Unit::TestCase
|
|
12
12
|
should "show exception message status is not 201" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::RUNTIMES_PATH + "_types").
|
14
14
|
returns([400, {:message => "Not Found"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
16
16
|
|
17
17
|
assert_equal(@command.execute, 400)
|
18
18
|
end
|
@@ -13,7 +13,7 @@ class ListServicetypesCommandTest < Test::Unit::TestCase
|
|
13
13
|
should "show exception message status is not 201" do
|
14
14
|
@mock_client.expects(:get).with(EPC::Config::SERVICE_TYPES_PATH).
|
15
15
|
returns([400, {:message => "Not Found"}, {}])
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Service types retrieval failed with [Not Found]")
|
17
17
|
|
18
18
|
assert_equal(@command.execute, 400)
|
19
19
|
end
|
@@ -12,7 +12,7 @@ class ListServicedefinitionsCommandTest < Test::Unit::TestCase
|
|
12
12
|
should "show exception message status is not 200" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::SERVICE_DEFINITIONS_PATH).
|
14
14
|
returns([400, {'message' => "Not Found"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed with: [Not Found]")
|
16
16
|
|
17
17
|
assert_equal(@command.execute, 400)
|
18
18
|
end
|
@@ -13,7 +13,7 @@ class ListServiceversionsCommandTest < Test::Unit::TestCase
|
|
13
13
|
should "show exception message status is not 201" do
|
14
14
|
@mock_client.expects(:get).with(EPC::Config::SERVICE_VERSIONS_PATH).
|
15
15
|
returns([400, {:message => "Not Found"}, {}])
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
17
17
|
|
18
18
|
assert_equal(@command.execute, 400)
|
19
19
|
end
|
@@ -13,7 +13,7 @@ class ListSolutionsCommandTest < Test::Unit::TestCase
|
|
13
13
|
should "show exception message status is not 201" do
|
14
14
|
@mock_client.expects(:get).with(EPC::Config::SOLUTIONS_PATH).
|
15
15
|
returns([400, {:message => "Not Found"}, {}])
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Solutions retrieval failed with [Not Found]")
|
17
17
|
|
18
18
|
assert_equal(@command.execute, 400)
|
19
19
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class
|
1
|
+
class ListUserpropertiesCommandTest < Test::Unit::TestCase
|
2
2
|
should_require_login
|
3
3
|
|
4
4
|
context "execute" do
|
@@ -11,7 +11,7 @@ class ListUsersCommandTest < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
should "fail if the user cannot be found" do
|
13
13
|
@mock_client.expects(:get).with(EPC::Config::ENTITY_PROPERTIES_PATH + "/for/User/#{@user_id}").returns([404, {:message => "Entity was not found."}, {}])
|
14
|
-
@command.expects(:
|
14
|
+
@command.expects(:say_err).with("Request failed with [Entity was not found.]")
|
15
15
|
assert_equal 404, @command.execute
|
16
16
|
end
|
17
17
|
|
@@ -30,4 +30,4 @@ class ListUsersCommandTest < Test::Unit::TestCase
|
|
30
30
|
|
31
31
|
end
|
32
32
|
|
33
|
-
end
|
33
|
+
end
|
@@ -12,7 +12,7 @@ class ListUsersCommandTest < Test::Unit::TestCase
|
|
12
12
|
|
13
13
|
should "fail if status is not 200(ok)" do
|
14
14
|
@mock_client.expects(:get).with(EPC::Config::USERS_PATH).returns([500, {:message => "System exception encountered"}, {}])
|
15
|
-
@command.expects(:
|
15
|
+
@command.expects(:say_err).with("Request failed: [System exception encountered]")
|
16
16
|
assert_equal 500, @command.execute
|
17
17
|
end
|
18
18
|
|
@@ -98,7 +98,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
98
98
|
|
99
99
|
@mock_client.expects(:put).with("/api/v1/pulls/1/confirm", { :pulled => 'yes' }).
|
100
100
|
returns([400, { :message => "bad request" }, {}])
|
101
|
-
command.expects(:
|
101
|
+
command.expects(:say_err).with("Pull confirmation failed [bad request].")
|
102
102
|
|
103
103
|
confirmed = command.send(:confirm_pull, 1)
|
104
104
|
|
@@ -150,7 +150,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
150
150
|
|
151
151
|
should "notify if solutions wasn't found" do
|
152
152
|
@command.expects(:get_resource_id).returns(nil)
|
153
|
-
@command.expects(:
|
153
|
+
@command.expects(:say_err).returns("Solution not found")
|
154
154
|
assert_equal(@command.send(:prep_solution_directory, "path_to_dir", "FirstSolution"), false)
|
155
155
|
|
156
156
|
end
|
@@ -158,7 +158,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
158
158
|
should "notify if directory creation fails" do
|
159
159
|
@command.expects(:get_resource_id).returns(1)
|
160
160
|
Dir.expects(:mkdir).raises(Exception)
|
161
|
-
@command.expects(:
|
161
|
+
@command.expects(:say_err)
|
162
162
|
assert_equal(@command.send(:prep_solution_directory, "path_to_dir", "FirstSolution"), false)
|
163
163
|
end
|
164
164
|
|
@@ -166,7 +166,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
166
166
|
@command.expects(:get_resource_id).returns(1)
|
167
167
|
Dir.expects(:mkdir)
|
168
168
|
File.expects(:open).raises(Exception)
|
169
|
-
@command.expects(:
|
169
|
+
@command.expects(:say_err)
|
170
170
|
assert_equal(@command.send(:prep_solution_directory, "path_to_dir", "FirstSolution"), false)
|
171
171
|
end
|
172
172
|
end
|
@@ -184,7 +184,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
184
184
|
|
185
185
|
should "notify when there's an error in polling" do
|
186
186
|
@command.expects(:sign_pull).returns([500, {}, nil])
|
187
|
-
@command.expects(:
|
187
|
+
@command.expects(:say_err).with("Poller failed to get the pull URL. Aborting.")
|
188
188
|
assert_equal(@command.send(:poll_for_pull_url, 1), [false, nil, nil])
|
189
189
|
end
|
190
190
|
|
@@ -198,14 +198,14 @@ class PullCommandTest < Test::Unit::TestCase
|
|
198
198
|
|
199
199
|
should "fail if path doesn't exists" do
|
200
200
|
File.expects(:exists?).returns(false)
|
201
|
-
@command.expects(:
|
201
|
+
@command.expects(:say_err).with("Pull path does not exist")
|
202
202
|
@command.send(:check_pull_directory, "path")
|
203
203
|
end
|
204
204
|
|
205
205
|
should "fail if path isn't a directory" do
|
206
206
|
File.expects(:exists?).returns(true)
|
207
207
|
File.expects(:directory?).returns(false)
|
208
|
-
@command.expects(:
|
208
|
+
@command.expects(:say_err).with("Pull path is not a directory")
|
209
209
|
@command.send(:check_pull_directory, "path")
|
210
210
|
end
|
211
211
|
end
|
@@ -226,7 +226,7 @@ class PullCommandTest < Test::Unit::TestCase
|
|
226
226
|
|
227
227
|
should "notify if pull fails" do
|
228
228
|
@command.send(:http_client).expects(:get).returns([500, "response", {}])
|
229
|
-
@command.expects(:
|
229
|
+
@command.expects(:say_err).with("Failed to pull the zip file from the build repository [status = 500]. Aborting pull command.")
|
230
230
|
@command.send(:pull_zip, "url", "path_to_zip")
|
231
231
|
end
|
232
232
|
end
|
@@ -38,7 +38,7 @@ class PushCommandTest < Test::Unit::TestCase
|
|
38
38
|
should "push only the specified project from the solution directory" do
|
39
39
|
@command.expects(:infer_solution_context).returns([1, "FirstSolution"])
|
40
40
|
EPC::Config.expects(:is_solution_dir?).with(File.expand_path(".")).returns(true)
|
41
|
-
@command.expects(:infer_project_context).
|
41
|
+
# @command.expects(:infer_project_context).returns([1, "FirstProject"])
|
42
42
|
|
43
43
|
@command.expects(:ask_yn).returns('n')
|
44
44
|
|
@@ -63,15 +63,45 @@ class PushCommandTest < Test::Unit::TestCase
|
|
63
63
|
command.expects(:infer_project_context).returns([1, "FirstProject"])
|
64
64
|
command.expects(:say).with("\nPushing FirstProject...")
|
65
65
|
command.expects(:zip_source).with(expected_path).returns(expected_zip_path)
|
66
|
+
File.expects(:exists?).returns(true)
|
66
67
|
command.expects(:sha1).with(expected_zip_path).returns('aabbcc')
|
67
|
-
command.expects(:create_push).with("FirstProject", "FirstSolution", "aabbcc", nil).returns([202, expected_url, 'ddeeff', 1])
|
68
|
-
command.expects(:push_zip).with(expected_zip_path, expected_url, 'ddeeff').returns(true)
|
68
|
+
command.expects(:create_push).with("FirstProject", "FirstSolution", "aabbcc", nil, nil).returns([202, expected_url, 'ddeeff', 1])
|
69
|
+
command.expects(:push_zip).with(expected_zip_path, expected_url, 'ddeeff', nil).returns(true)
|
69
70
|
command.expects(:confirm_push).with(1).returns({:id => 1, :build_id=> 1, :project_version => 2})
|
70
71
|
command.expects(:poll_for_build_status).with(1)
|
71
72
|
|
72
73
|
command.execute
|
73
74
|
end
|
74
75
|
|
76
|
+
should "zip, push, confirm and poll for build status for direct deploy" do
|
77
|
+
expected_file = "pushed.zip"
|
78
|
+
expected_path = File.expand_path(".")
|
79
|
+
expected_zip_path = File.join(expected_path, expected_file)
|
80
|
+
expected_url = "http://www.there.com/solution/project/version/pushed.zip"
|
81
|
+
|
82
|
+
options = { direct_deploy: expected_zip_path }
|
83
|
+
command = EPC::Command::PushCommand.new(@mock_client, options)
|
84
|
+
|
85
|
+
command.expects(:infer_solution_context).returns([1, "FirstSolution"])
|
86
|
+
|
87
|
+
EPC::Config.expects(:is_solution_dir?).returns(false)
|
88
|
+
EPC::Config.expects(:is_project_dir?).returns(true)
|
89
|
+
command.expects(:infer_project_context).returns([1, "FirstProject"])
|
90
|
+
|
91
|
+
command.expects(:ask_yn).returns('Y')
|
92
|
+
|
93
|
+
command.expects(:infer_project_context).returns([1, "FirstProject"])
|
94
|
+
command.expects(:say).with("\nPushing FirstProject...")
|
95
|
+
File.expects(:exists?).returns(true)
|
96
|
+
command.expects(:sha1).with(expected_zip_path).returns('aabbcc')
|
97
|
+
command.expects(:create_push).with("FirstProject", "FirstSolution", "aabbcc", nil, expected_file).returns([202, expected_url, 'ddeeff', 1])
|
98
|
+
command.expects(:push_zip).with(expected_zip_path, expected_url, 'ddeeff', expected_zip_path).returns(true)
|
99
|
+
command.expects(:confirm_push).with(1).returns({:id => 1, :build_id=> 1, :project_version => 2})
|
100
|
+
command.expects(:poll_for_build_status).with(1)
|
101
|
+
|
102
|
+
command.execute
|
103
|
+
end
|
104
|
+
|
75
105
|
end
|
76
106
|
|
77
107
|
context "create_push" do
|
@@ -85,7 +115,7 @@ class PushCommandTest < Test::Unit::TestCase
|
|
85
115
|
command = EPC::Command::PushCommand.new(@mock_client)
|
86
116
|
|
87
117
|
@mock_client.expects(:post).with("/api/v1/pushes",
|
88
|
-
{ :project_name => 'Test Project', :solution_name => "Test Solution", :sha1 => "abcdef", :note => nil}).
|
118
|
+
{ :project_name => 'Test Project', :solution_name => "Test Solution", :sha1 => "abcdef", :note => nil, :direct_deploy => nil}).
|
89
119
|
returns([202, { :url => "http://there.com/repo", :signature => "xxyyzz", :id => 1 }, {}])
|
90
120
|
command.expects(:say).with("Successfully created a push with [http://localhost:3000]")
|
91
121
|
|
@@ -101,7 +131,7 @@ class PushCommandTest < Test::Unit::TestCase
|
|
101
131
|
command = EPC::Command::PushCommand.new(@mock_client)
|
102
132
|
|
103
133
|
@mock_client.expects(:post).with("/api/v1/pushes",
|
104
|
-
{ :project_name => 'Test Project', :solution_name => "Test Solution", :sha1 => "abcdef", :note => nil }).
|
134
|
+
{ :project_name => 'Test Project', :solution_name => "Test Solution", :sha1 => "abcdef", :note => nil, :direct_deploy => nil }).
|
105
135
|
returns([404, { :message => "Not Found" }, {}])
|
106
136
|
# command.expects(:say).with("Push creation failed [Not Found]. Aborting push command.")
|
107
137
|
|
@@ -135,7 +165,7 @@ class PushCommandTest < Test::Unit::TestCase
|
|
135
165
|
|
136
166
|
@mock_client.expects(:put).with("/api/v1/pushes/1/confirm",
|
137
167
|
{ :pushed => "yes" }).returns([404, { :message => "Not Found" }, {}])
|
138
|
-
command.expects(:
|
168
|
+
command.expects(:say_err).with("Push confirmation failed [Not Found].")
|
139
169
|
|
140
170
|
confirmed = command.send(:confirm_push, 1)
|
141
171
|
|
@@ -230,14 +260,14 @@ class PushCommandTest < Test::Unit::TestCase
|
|
230
260
|
|
231
261
|
should "notify if path does not exist" do
|
232
262
|
File.expects(:exists?).returns(false)
|
233
|
-
@command.expects(:
|
263
|
+
@command.expects(:say_err)
|
234
264
|
assert_equal(@command.send(:check_push_directory, "path"), false)
|
235
265
|
end
|
236
266
|
|
237
267
|
should "notify if path is not a directory" do
|
238
268
|
File.expects(:exists?).returns(true)
|
239
269
|
File.expects(:directory?).returns(false)
|
240
|
-
@command.expects(:
|
270
|
+
@command.expects(:say_err)
|
241
271
|
assert_equal(@command.send(:check_push_directory, "path"), false)
|
242
272
|
end
|
243
273
|
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class SetUserPropertyCommandTest < Test::Unit::TestCase
|
2
|
+
should_require_login
|
3
|
+
|
4
|
+
context "execute" do
|
5
|
+
setup do
|
6
|
+
@mock_client = mock("Client")
|
7
|
+
@command = EPC::Command::SetUserPropertyCommand.new(@mock_client)
|
8
|
+
@user_id = 1
|
9
|
+
@property_id = "1"
|
10
|
+
@property_name = "color"
|
11
|
+
end
|
12
|
+
|
13
|
+
should "set a single user property" do
|
14
|
+
@command.expects(:retrieve_identifier_for).with("User",'user@domain.com').returns(@user_id)
|
15
|
+
@command.expects(:retrieve_identifier_for).with("EntityProperty", "name:#{@user_id}:User")
|
16
|
+
@mock_client.expects(:post).with(EPC::Config::ENTITY_PROPERTIES_PATH, {:name => 'name', :value => 'value', :entity_id => 1, :entity_type => 'User'}).returns([201, {:id => 1}, {}])
|
17
|
+
@command.expects(:say).with("Successfully set the user properties.")
|
18
|
+
assert_equal 201, @command.execute(0, "name=value")
|
19
|
+
end
|
20
|
+
|
21
|
+
should "return a error if the user property cannot be saved" do
|
22
|
+
@command.expects(:retrieve_identifier_for).with("User",'user@domain.com').returns(@user_id)
|
23
|
+
@command.expects(:retrieve_identifier_for).with("EntityProperty", "name:#{@user_id}:User")
|
24
|
+
@mock_client.expects(:post).with(EPC::Config::ENTITY_PROPERTIES_PATH, {:name => 'name', :value => 'value', :entity_id => 1, :entity_type => 'User'}).returns([400, {:message => "Entity property could not be saved"}, {}])
|
25
|
+
@command.expects(:say_err).with("User properties could not be set [Entity property could not be saved].")
|
26
|
+
assert_equal 400, @command.execute(0, "name=value")
|
27
|
+
end
|
28
|
+
|
29
|
+
should "set multiple properties" do
|
30
|
+
@command.options[:file] = "testing_file"
|
31
|
+
File.expects(:exists?).with("testing_file").returns(true)
|
32
|
+
File.expects(:open).with("testing_file").returns({:name => 'name', :value => 'value'}.to_json + "\n")
|
33
|
+
@command.expects(:retrieve_identifier_for).with("User",'user@domain.com').returns(@user_id)
|
34
|
+
@mock_client.expects(:put).with(EPC::Config::ENTITY_PROPERTIES_PATH + "/for/User/#{@user_id}", {:entity_properties => [{'name' => 'name', 'value' => 'value'}]}).returns([201, {:id => 1}, {}])
|
35
|
+
@command.expects(:say).with("Successfully set the user properties.")
|
36
|
+
assert_equal 201, @command.execute(0)
|
37
|
+
end
|
38
|
+
|
39
|
+
should "return a error if the file doesn't exist" do
|
40
|
+
@command.options[:file]= "testing_file"
|
41
|
+
File.expects(:exists?).with("testing_file").returns(false)
|
42
|
+
@command.expects(:retrieve_identifier_for).with("User",'user@domain.com').returns(@user_id)
|
43
|
+
@command.expects(:say_err).with("File testing_file was not found")
|
44
|
+
assert_equal 1, @command.execute(0)
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ShowCommandTest < Test::Unit::TestCase
|
4
|
+
should_require_login
|
5
|
+
|
6
|
+
context "list command" do
|
7
|
+
setup do
|
8
|
+
@mock_client = mock("Client")
|
9
|
+
@command = EPC::Command::ShowCommand.new(@mock_client)
|
10
|
+
end
|
11
|
+
|
12
|
+
should "fail if no object specified" do
|
13
|
+
assert_raise EPC::Error::InputError do
|
14
|
+
@command.execute
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
should "fail if object can't be determined during context resolution" do
|
20
|
+
assert_raise EPC::Error::FatalError do
|
21
|
+
@command.expects(:resolve_context)
|
22
|
+
@command.object_type = nil
|
23
|
+
@command.execute("User")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -13,7 +13,7 @@ class ShowDeploymentCommandTest < Test::Unit::TestCase
|
|
13
13
|
|
14
14
|
should "notify if retrieval fails" do
|
15
15
|
@mock_client.expects(:get).returns([404, {:message => "Resource not found"}, {}])
|
16
|
-
@command.expects(:
|
16
|
+
@command.expects(:say_err).with("Request failed: [Resource not found]")
|
17
17
|
|
18
18
|
assert_equal(@command.execute([]), 404)
|
19
19
|
end
|
@@ -14,7 +14,7 @@ class ShowGroupCommandTest < Test::Unit::TestCase
|
|
14
14
|
should "fail if status is not 200" do
|
15
15
|
@mock_client.expects(:get).with(EPC::Config::GROUPS_PATH + "/1?include=users").
|
16
16
|
returns([404, {:message => "Not Found"}, {}])
|
17
|
-
@command.expects(:
|
17
|
+
@command.expects(:say_err).with("Request failed: [Not Found]")
|
18
18
|
assert_equal(@command.execute(1), 1)
|
19
19
|
end
|
20
20
|
|