Remove schema validation from command parameters/returns
Do not use ObjectSchema and instead pass parameters, progress and
return values as opaque JSON objects.
BUG: 25841230
Change-Id: I0ea5fc31d526b1e5d6c66453b613e7284aa3fcac
Reviewed-on: https://weave-review.googlesource.com/1611
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/src/commands/command_instance_unittest.cc b/src/commands/command_instance_unittest.cc
index 4e208ed..a03e92b 100644
--- a/src/commands/command_instance_unittest.cc
+++ b/src/commands/command_instance_unittest.cc
@@ -7,8 +7,6 @@
#include <gtest/gtest.h>
#include "src/commands/command_dictionary.h"
-#include "src/commands/prop_types.h"
-#include "src/commands/schema_utils.h"
#include "src/commands/unittest_utils.h"
namespace weave {
@@ -70,14 +68,12 @@
} // anonymous namespace
TEST_F(CommandInstanceTest, Test) {
- StringPropType str_prop;
- IntPropType int_prop;
- ValueMap params;
- params["phrase"] =
- str_prop.CreateValue(base::StringValue{"iPityDaFool"}, nullptr);
- params["volume"] = int_prop.CreateValue(base::FundamentalValue{5}, nullptr);
+ auto params = CreateDictionaryValue(R"({
+ 'phrase': 'iPityDaFool',
+ 'volume': 5
+ })");
CommandInstance instance{"robot.speak", Command::Origin::kCloud,
- dict_.FindCommand("robot.speak"), params};
+ dict_.FindCommand("robot.speak"), *params};
EXPECT_TRUE(
instance.Complete(*CreateDictionaryValue("{'foo': 239}"), nullptr));
@@ -174,25 +170,6 @@
EXPECT_EQ("command_failed", error->GetCode());
}
-TEST_F(CommandInstanceTest, FromJson_ParamError) {
- auto json = CreateDictionaryValue(R"({
- 'name': 'robot.speak',
- 'parameters': {
- 'phrase': 'iPityDaFool',
- 'volume': 20
- }
- })");
- ErrorPtr error;
- auto instance = CommandInstance::FromJson(json.get(), Command::Origin::kCloud,
- dict_, nullptr, &error);
- EXPECT_EQ(nullptr, instance.get());
- auto first = error->GetFirstError();
- EXPECT_EQ("out_of_range", first->GetCode());
- auto inner = error->GetInnerError();
- EXPECT_EQ("invalid_parameter_value", inner->GetCode());
- EXPECT_EQ("command_failed", error->GetCode());
-}
-
TEST_F(CommandInstanceTest, ToJson) {
auto json = CreateDictionaryValue(R"({
'name': 'robot.jump',