Skip to content

Commit d1a42bb

Browse files
committed
tests fix
1 parent 420dc9e commit d1a42bb

7 files changed

+72
-87
lines changed

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/EventGeneratorSourceTestingApiHttpServiceSpec.scala

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package pl.touk.nussknacker.ui.api.testing
22

33
import com.typesafe.config.{Config, ConfigFactory}
44
import io.circe.syntax.EncoderOps
5-
import pl.touk.nussknacker.engine.api.parameter.ParameterName
65
import pl.touk.nussknacker.engine.build.ScenarioBuilder
76
import pl.touk.nussknacker.engine.canonicalgraph.CanonicalProcess
87
import pl.touk.nussknacker.engine.graph.expression.Expression
@@ -49,23 +48,6 @@ trait EventGeneratorSourceTestingApiHttpServiceSpec extends ScenarioTestingApiHt
4948
override protected def validParameters: TestSourceParameters =
5049
TestSourceParameters(exampleScenarioSourceId, Map.empty)
5150

52-
override protected def invalidParameters: TestSourceParameters =
53-
TestSourceParameters(exampleScenarioSourceId, Map(ParameterName("someParam") -> "0L".spel))
54-
55-
override protected def expectedValidationErrorsOnInvalidParametersJson: String =
56-
"""
57-
|[
58-
| {
59-
| "typ": "RedundantParameters",
60-
| "message": "Redundant parameters",
61-
| "description": "Please omit redundant parameters: ParameterName(someParam)",
62-
| "fieldName": null,
63-
| "errorType": "SaveAllowed",
64-
| "details": null
65-
| }
66-
|]
67-
|""".stripMargin
68-
6951
override protected def expectedTestParametersJson: String = {
7052
s"""
7153
|[

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/GenericSourceWithCustomVariablesTestingApiHttpServiceSpec.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.ScenarioTestD
1010
import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.Validate.ScenarioTestValidationRequest
1111
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter.toScenarioGraph
1212

13-
class GenericSourceWithCustomVariablesTestingApiHttpServiceSpec extends ScenarioTestingApiHttpServiceSpec {
13+
class GenericSourceWithCustomVariablesTestingApiHttpServiceSpec
14+
extends ScenarioTestingApiHttpServiceSpec
15+
with WithAdHocInvalidParametersTestsLogic {
1416

1517
override protected def exampleScenarioSourceId = "sourceId"
1618

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/ScenarioTestingApiHttpServiceSpec.scala

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ trait ScenarioTestingApiHttpServiceSpec
4141
with NuRestAssureMatchers
4242
with RestAssuredVerboseLoggingIfValidationFails
4343
with PatientScalaFutures
44-
with WithAdHocTestParameters
4544
with WithAdHocTestsLogic {
4645

4746
import pl.touk.nussknacker.engine.spel.SpelExtension._
@@ -364,9 +363,6 @@ trait ScenarioTestingApiHttpServiceSpec
364363
"return no errors on valid parameters" in {
365364
shouldValidateParametersProperly()
366365
}
367-
"return errors if passed parameter is not valid" in {
368-
shouldReturnErrorsForInvalidParameters()
369-
}
370366
}
371367

372368
"The endpoint for adhoc test run should" - {
@@ -392,15 +388,6 @@ trait ScenarioTestingApiHttpServiceSpec
392388
| "numberOfSamples": $numberOfSamples
393389
|}""".stripMargin
394390

395-
private def capabilitiesResponse(
396-
scenarioGraphStr: String,
397-
numberOfSamples: Int,
398-
) =
399-
s"""{
400-
| "scenarioGraph": $scenarioGraphStr,
401-
| "numberOfSamples": $numberOfSamples
402-
|}""".stripMargin
403-
404391
private def canonicalGraphStr(canonical: CanonicalProcess) =
405392
Encoder[ScenarioGraph].apply(CanonicalProcessConverter.toScenarioGraph(canonical)).toString()
406393
}

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/SchemalessKafkaJsonTypeTests.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import pl.touk.nussknacker.ui.api.testing.SchemalessKafkaJsonTypeTests.{
4747
sinkTopicName,
4848
sourceTopicName,
4949
variablesNodeName,
50-
WithSchemalessAdHocTestParameters
50+
WithSchemalessAdHocTestsLogic
5151
}
5252
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter
5353
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter.toScenarioGraph
@@ -64,7 +64,8 @@ class SchemalessKafkaJsonTypeTests
6464
with RestAssuredVerboseLoggingIfValidationFails
6565
with PatientScalaFutures
6666
with WithAdHocTestsLogic
67-
with WithSchemalessAdHocTestParameters
67+
with WithSchemalessAdHocTestsLogic
68+
with WithAdHocInvalidParametersTestsLogic
6869
with WithDockerContainers
6970
with ForAllTestContainer
7071
with StrictLogging {
@@ -197,7 +198,10 @@ class SchemalessKafkaJsonTypeTests
197198

198199
object SchemalessKafkaJsonTypeTests {
199200

200-
private[SchemalessKafkaJsonTypeTests] trait WithSchemalessAdHocTestParameters extends WithAdHocTestParameters {
201+
private[SchemalessKafkaJsonTypeTests] trait WithSchemalessAdHocTestsLogic
202+
extends WithAdHocTestsLogic
203+
with WithAdHocInvalidParametersTestsLogic {
204+
self: WithSimplifiedConfigScenarioHelper with NuItTest =>
201205

202206
override protected def exampleScenarioSourceId: String = "start"
203207

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package pl.touk.nussknacker.ui.api.testing
2+
3+
import io.circe.syntax.EncoderOps
4+
import io.restassured.RestAssured.`given`
5+
import io.restassured.module.scala.RestAssuredSupport.AddThenToResponse
6+
import pl.touk.nussknacker.test.NuRestAssureExtensions.{AppConfiguration, EqualsJsonBody, JsonBody}
7+
import pl.touk.nussknacker.test.base.it.{NuItTest, WithSimplifiedConfigScenarioHelper}
8+
import pl.touk.nussknacker.test.processes.WithScenarioActivitySpecAsserts.UsersBasicAuth
9+
import pl.touk.nussknacker.ui.api.description.NodesApiEndpoints.Dtos.TestSourceParameters
10+
import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.ScenarioTestData
11+
import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.Validate.ScenarioTestValidationRequest
12+
13+
trait WithAdHocInvalidParametersTestsLogic {
14+
self: WithAdHocTestsLogic with WithSimplifiedConfigScenarioHelper with NuItTest =>
15+
16+
def shouldReturnErrorsForInvalidParameters(): Unit = {
17+
val request = ScenarioTestValidationRequest(
18+
exampleScenarioGraph,
19+
ScenarioTestData.WithParameters(invalidParameters),
20+
).asJson.toString()
21+
22+
given()
23+
.applicationState {
24+
createSavedScenario(exampleScenario)
25+
}
26+
.when()
27+
.basicAuthAllPermUser()
28+
.jsonBody(request)
29+
.post(s"$nuDesignerHttpAddress/api/scenarioTesting/${exampleScenario.name}/validate")
30+
.Then()
31+
.statusCode(200)
32+
.equalsJsonBody(
33+
s"""{
34+
| "validationErrors": $expectedValidationErrorsOnInvalidParametersJson,
35+
| "validationPerformed": true
36+
|}
37+
|""".stripMargin
38+
)
39+
}
40+
41+
protected def invalidParameters: TestSourceParameters
42+
43+
protected def expectedValidationErrorsOnInvalidParametersJson: String
44+
45+
}

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/WithAdHocTestParameters.scala

Lines changed: 0 additions & 26 deletions
This file was deleted.

designer/server/src/test/scala/pl/touk/nussknacker/ui/api/testing/WithAdHocTestsLogic.scala

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,19 @@ import io.circe.syntax.EncoderOps
44
import io.restassured.RestAssured.`given`
55
import io.restassured.module.scala.RestAssuredSupport.AddThenToResponse
66
import org.hamcrest.Matchers.equalTo
7+
import pl.touk.nussknacker.engine.api.graph.ScenarioGraph
8+
import pl.touk.nussknacker.engine.canonicalgraph.CanonicalProcess
79
import pl.touk.nussknacker.test.NuRestAssureExtensions.{AppConfiguration, EqualsJsonBody, JsonBody}
810
import pl.touk.nussknacker.test.base.it.{NuItTest, WithSimplifiedConfigScenarioHelper}
911
import pl.touk.nussknacker.test.processes.WithScenarioActivitySpecAsserts.UsersBasicAuth
12+
import pl.touk.nussknacker.ui.api.description.NodesApiEndpoints.Dtos.TestSourceParameters
1013
import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.ScenarioTestData
1114
import pl.touk.nussknacker.ui.api.description.scenarioTesting.Dtos.Validate.ScenarioTestValidationRequest
15+
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter
1216
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter.toScenarioGraph
1317

1418
trait WithAdHocTestsLogic {
15-
self: WithAdHocTestParameters with WithSimplifiedConfigScenarioHelper with NuItTest =>
19+
self: WithSimplifiedConfigScenarioHelper with NuItTest =>
1620

1721
def shouldValidateParametersProperly(): Unit = {
1822
val request = ScenarioTestValidationRequest(
@@ -38,31 +42,6 @@ trait WithAdHocTestsLogic {
3842
)
3943
}
4044

41-
def shouldReturnErrorsForInvalidParameters(): Unit = {
42-
val request = ScenarioTestValidationRequest(
43-
exampleScenarioGraph,
44-
ScenarioTestData.WithParameters(invalidParameters),
45-
).asJson.toString()
46-
47-
given()
48-
.applicationState {
49-
createSavedScenario(exampleScenario)
50-
}
51-
.when()
52-
.basicAuthAllPermUser()
53-
.jsonBody(request)
54-
.post(s"$nuDesignerHttpAddress/api/scenarioTesting/${exampleScenario.name}/validate")
55-
.Then()
56-
.statusCode(200)
57-
.equalsJsonBody(
58-
s"""{
59-
| "validationErrors": $expectedValidationErrorsOnInvalidParametersJson,
60-
| "validationPerformed": true
61-
|}
62-
|""".stripMargin
63-
)
64-
}
65-
6645
def shouldProperlyRunAdHocTest(): Unit = {
6746
given()
6847
.applicationState {
@@ -109,4 +88,16 @@ trait WithAdHocTestsLogic {
10988
| }
11089
|}""".stripMargin
11190

91+
protected def exampleScenarioSourceId: String
92+
93+
protected def exampleScenario: CanonicalProcess
94+
95+
protected def validParameters: TestSourceParameters
96+
97+
protected def parametersProvidedForDryRun: String
98+
99+
protected def expectedTestParametersJson: String
100+
101+
protected def exampleScenarioGraph: ScenarioGraph = CanonicalProcessConverter.toScenarioGraph(exampleScenario)
102+
112103
}

0 commit comments

Comments
 (0)