From 07a4cb2dd41e8a924a7b0420be2b574e729e3260 Mon Sep 17 00:00:00 2001 From: avan1235 Date: Wed, 12 May 2021 15:34:14 +0200 Subject: [PATCH] add h2o data converter tests --- .../h2o/converter/EncodeStringInputTest.scala | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 prinz_h2o/src/test/scala/pl/touk/nussknacker/prinz/h2o/converter/EncodeStringInputTest.scala diff --git a/prinz_h2o/src/test/scala/pl/touk/nussknacker/prinz/h2o/converter/EncodeStringInputTest.scala b/prinz_h2o/src/test/scala/pl/touk/nussknacker/prinz/h2o/converter/EncodeStringInputTest.scala new file mode 100644 index 00000000..a45c210f --- /dev/null +++ b/prinz_h2o/src/test/scala/pl/touk/nussknacker/prinz/h2o/converter/EncodeStringInputTest.scala @@ -0,0 +1,63 @@ +package pl.touk.nussknacker.prinz.h2o.converter + +import pl.touk.nussknacker.engine.api.typed.typing.Typed +import pl.touk.nussknacker.prinz.UnitTest +import pl.touk.nussknacker.prinz.model.{ModelSignature, SignatureField, SignatureName, SignatureType} +import pl.touk.nussknacker.prinz.util.collection.immutable.VectorMultimap + +class EncodeStringInputTest extends UnitTest { + + it should "wrap string inputs into single quotes" in { + val signature = ModelSignature( + List(SignatureField(SignatureName("string_name"), SignatureType(Typed[String]))), + List() + ) + val inputMap = VectorMultimap( + ("string_name", "Bob".asInstanceOf[AnyRef]) + ) + val expectedConvertedInputMap = VectorMultimap( + ("string_name", "'Bob'".asInstanceOf[AnyRef]) + ) + + val convertedInput = H2ODataConverter.inputToTypedModelInput(inputMap, signature) + + convertedInput should equal (expectedConvertedInputMap) + } + + it should "not wrap string inputs in extra quotes when already wrapped single quotes" in { + val signature = ModelSignature( + List(SignatureField(SignatureName("string_name"), SignatureType(Typed[String]))), + List() + ) + val inputMap = VectorMultimap( + ("string_name", "'Bob'".asInstanceOf[AnyRef]) + ) + val expectedConvertedInputMap = VectorMultimap( + ("string_name", "'Bob'".asInstanceOf[AnyRef]) + ) + + val convertedInput = H2ODataConverter.inputToTypedModelInput(inputMap, signature) + + convertedInput should equal (expectedConvertedInputMap) + } + + it should "wrap string inputs with missing quotes" in { + val signature = ModelSignature( + List(SignatureField(SignatureName("string_name"), SignatureType(Typed[String])), + SignatureField(SignatureName("string_surname"), SignatureType(Typed[String]))), + List() + ) + val inputMap = VectorMultimap( + ("string_name", "'Bob".asInstanceOf[AnyRef]), + ("string_surname", "King'".asInstanceOf[AnyRef]) + ) + val expectedConvertedInputMap = VectorMultimap( + ("string_surname", "'King'".asInstanceOf[AnyRef]), + ("string_name", "'Bob'".asInstanceOf[AnyRef]) + ) + + val convertedInput = H2ODataConverter.inputToTypedModelInput(inputMap, signature) + + convertedInput should equal (expectedConvertedInputMap) + } +}