Fixed a typo in resource provider config API and added validation tests. Review: https://reviews.apache.org/r/64495/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/adf4fa3f Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/adf4fa3f Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/adf4fa3f Branch: refs/heads/master Commit: adf4fa3f267666b7dedfcc786a222fc57e1dfb82 Parents: 24d17b2 Author: Chun-Hung Hsiao <[email protected]> Authored: Mon Dec 11 15:09:46 2017 -0800 Committer: Jie Yu <[email protected]> Committed: Mon Dec 11 15:09:46 2017 -0800 ---------------------------------------------------------------------- include/mesos/agent/agent.proto | 2 +- include/mesos/v1/agent/agent.proto | 2 +- src/tests/slave_validation_tests.cpp | 70 +++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/adf4fa3f/include/mesos/agent/agent.proto ---------------------------------------------------------------------- diff --git a/include/mesos/agent/agent.proto b/include/mesos/agent/agent.proto index d464afe..6fcca6a 100644 --- a/include/mesos/agent/agent.proto +++ b/include/mesos/agent/agent.proto @@ -363,7 +363,7 @@ message Call { optional KillContainer kill_container = 15; optional RemoveContainer remove_container = 16; - optional UpdateResourceProviderConfig add_resource_provider_config = 17; + optional AddResourceProviderConfig add_resource_provider_config = 17; optional UpdateResourceProviderConfig update_resource_provider_config = 18; optional RemoveResourceProviderConfig remove_resource_provider_config = 19; } http://git-wip-us.apache.org/repos/asf/mesos/blob/adf4fa3f/include/mesos/v1/agent/agent.proto ---------------------------------------------------------------------- diff --git a/include/mesos/v1/agent/agent.proto b/include/mesos/v1/agent/agent.proto index 91fe5e1..57c3518 100644 --- a/include/mesos/v1/agent/agent.proto +++ b/include/mesos/v1/agent/agent.proto @@ -363,7 +363,7 @@ message Call { optional KillContainer kill_container = 15; optional RemoveContainer remove_container = 16; - optional UpdateResourceProviderConfig add_resource_provider_config = 17; + optional AddResourceProviderConfig add_resource_provider_config = 17; optional UpdateResourceProviderConfig update_resource_provider_config = 18; optional RemoveResourceProviderConfig remove_resource_provider_config = 19; } http://git-wip-us.apache.org/repos/asf/mesos/blob/adf4fa3f/src/tests/slave_validation_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/slave_validation_tests.cpp b/src/tests/slave_validation_tests.cpp index e81b65b..d6e0931 100644 --- a/src/tests/slave_validation_tests.cpp +++ b/src/tests/slave_validation_tests.cpp @@ -500,6 +500,76 @@ TEST(AgentCallValidationTest, LaunchNestedContainerSession) EXPECT_NONE(error); } + +TEST(AgentCallValidationTest, AddResourceProviderConfig) +{ + // Expecting `add_resource_provider_config`. + agent::Call call; + call.set_type(agent::Call::ADD_RESOURCE_PROVIDER_CONFIG); + + Option<Error> error = validation::agent::call::validate(call); + EXPECT_SOME(error); + + // Expecting `info.id` to be unset. + ResourceProviderInfo* info = + call.mutable_add_resource_provider_config()->mutable_info(); + info->set_type("org.apache.mesos.rp.type"); + info->set_name("name"); + info->mutable_id()->set_value("id"); + + error = validation::agent::call::validate(call); + EXPECT_SOME(error); + + info->clear_id(); + + error = validation::agent::call::validate(call); + EXPECT_NONE(error); +} + + +TEST(AgentCallValidationTest, UpdateResourceProviderConfig) +{ + // Expecting `update_resource_provider_config`. + agent::Call call; + call.set_type(agent::Call::UPDATE_RESOURCE_PROVIDER_CONFIG); + + Option<Error> error = validation::agent::call::validate(call); + EXPECT_SOME(error); + + // Expecting `info.id` to be unset. + ResourceProviderInfo* info = + call.mutable_update_resource_provider_config()->mutable_info(); + info->set_type("org.apache.mesos.rp.type"); + info->set_name("name"); + info->mutable_id()->set_value("id"); + + error = validation::agent::call::validate(call); + EXPECT_SOME(error); + + info->clear_id(); + + error = validation::agent::call::validate(call); + EXPECT_NONE(error); +} + + +TEST(AgentCallValidationTest, RemoveResourceProviderConfig) +{ + // Expecting `remove_resource_provider_config`. + agent::Call call; + call.set_type(agent::Call::REMOVE_RESOURCE_PROVIDER_CONFIG); + + Option<Error> error = validation::agent::call::validate(call); + EXPECT_SOME(error); + + call.mutable_remove_resource_provider_config() + ->set_type("org.apache.mesos.rp.type"); + call.mutable_remove_resource_provider_config()->set_name("name"); + + error = validation::agent::call::validate(call); + EXPECT_NONE(error); +} + } // namespace tests { } // namespace internal { } // namespace mesos {
