diff --git a/playtest-gauge-rest/specs/http/response/json/doubles.spec b/playtest-gauge-rest/specs/http/response/json/doubles.spec index cfa9328..3336ff9 100644 --- a/playtest-gauge-rest/specs/http/response/json/doubles.spec +++ b/playtest-gauge-rest/specs/http/response/json/doubles.spec @@ -2,17 +2,17 @@ ## JSON Path * レスポンスボディとしてシナリオデータストアに"{ \"key1\": 10.00, \"key2\": [ 0.01 ] }"を保存する -* レスポンスのJSONの"$.key1"が小数の"10.00"である -* レスポンスのJSONの"$.key2[0]"が小数の"0.01"である +* レスポンスのJSONの"$.key1"が数値の"10.00"である +* レスポンスのJSONの"$.key2[0]"が数値の"0.01"である ## JSON Pathで指定した配列を条件で絞った1要素 * レスポンスボディとしてシナリオデータストアに"{\"key1\":[{\"id\":\"a\",\"key3\":1.0}, {\"id\":\"b\",\"key3\": 2.0 }, {\"id\":\"c\",\"key3\":3.0}]}"を保存する -* レスポンスのJSONの"$.key1"の配列の、UniqueKey"id"の値が"b"である要素の"key3"が、小数値の"2.0"である +* レスポンスのJSONの"$.key1"の配列の、UniqueKey"id"の値が"b"である要素の"key3"が、数値の"2.0"である ## 配列内における存在(有) * レスポンスボディとしてシナリオデータストアに"{\"tests\": [1.1, 2.1, 3.1]}"を保存する -* レスポンスのJSONの配列"$.tests"に、小数値"3.1"が存在する +* レスポンスのJSONの配列"$.tests"に、数値"3.1"が存在する ## 配列内において存在(無) * レスポンスボディとしてシナリオデータストアに"{\"tests\": [1.0, 3.3]}"を保存する -* レスポンスのJSONの配列"$.tests"に、小数値"2.1"が存在しない +* レスポンスのJSONの配列"$.tests"に、数値"2.1"が存在しない diff --git a/playtest-gauge-rest/specs/http/response/json/integers.spec b/playtest-gauge-rest/specs/http/response/json/integers.spec index 6631415..fd04d7d 100644 --- a/playtest-gauge-rest/specs/http/response/json/integers.spec +++ b/playtest-gauge-rest/specs/http/response/json/integers.spec @@ -2,17 +2,17 @@ ## JSON Path * レスポンスボディとしてシナリオデータストアに"{ \"key1\": 0, \"key2\": [ 10 ] }"を保存する -* レスポンスのJSONの"$.key1"が整数の"0"である -* レスポンスのJSONの"$.key2[0]"が整数の"10"である +* レスポンスのJSONの"$.key1"が数値の"0"である +* レスポンスのJSONの"$.key2[0]"が数値の"10"である ## JSON Pathで指定した配列を条件で絞った1要素 * レスポンスボディとしてシナリオデータストアに"{\"key1\":[{\"id\":\"a\",\"key3\":1}, {\"id\":\"b\",\"key3\": 2 }, {\"id\":\"c\",\"key3\":3}]}"を保存する -* レスポンスのJSONの"$.key1"の配列の、UniqueKey"id"の値が"b"である要素の"key3"が、整数値の"2"である +* レスポンスのJSONの"$.key1"の配列の、UniqueKey"id"の値が"b"である要素の"key3"が、数値の"2"である ## 配列内における存在(有) * レスポンスボディとしてシナリオデータストアに"{\"tests\": [1, 2, 3]}"を保存する -* レスポンスのJSONの配列"$.tests"に、整数値"3"が存在する +* レスポンスのJSONの配列"$.tests"に、数値"3"が存在する ## 配列内における存在(無) * レスポンスボディとしてシナリオデータストアに"{\"tests\": [1, 3]}"を保存する -* レスポンスのJSONの配列"$.tests"に、整数値"2"が存在しない +* レスポンスのJSONの配列"$.tests"に、数値"2"が存在しない diff --git a/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonIntegerStep.kt b/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonIntegerStep.kt deleted file mode 100644 index 8252627..0000000 --- a/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonIntegerStep.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.uzabase.playtest.gauge.rest.json - -import com.thoughtworks.gauge.Step -import com.uzabase.playtest.gauge.rest.DataStore -import com.uzabase.playtest.json.JsonNode -import org.junit.jupiter.api.Assertions.* - -class JsonIntegerStep { - @Step("レスポンスのJSONのが整数のである") - fun assertEquals(jsonPath: String, expected: Int) { - val json = DataStore.loadResponseBodyFromScenario().string - val actual = JsonNode.of(json).get(jsonPath) - assertEquals(expected, actual) - } - - @Step("レスポンスのJSONのの配列の、UniqueKeyの値がである要素のが、整数値のである") - fun assertEqualsInUniqueObject(jsonPath: String, uniqueKey: String, filterValue: String, key: String, expected: Int) { - val json = DataStore.loadResponseBodyFromScenario().string - val actual = JsonNode.of(json).getUniqElementInArray(jsonPath, uniqueKey, filterValue) - assertEquals(expected, actual[key]) - } - - @Step("レスポンスのJSONの配列に、整数値が存在する") - fun assertContains(jsonPath: String, value: Int) { - val json = DataStore.loadResponseBodyFromScenario().string - val list = JsonNode.of(json).get>(jsonPath)!! - assertTrue(list.contains(value)) - } - - @Step("レスポンスのJSONの配列に、整数値が存在しない") - fun assertNotContains(jsonPath: String, value: Int) { - val json = DataStore.loadResponseBodyFromScenario().string - val list = JsonNode.of(json).get>(jsonPath)!! - assertFalse(list.contains(value)) - } -} diff --git a/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonDoubleStep.kt b/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonNumberStep.kt similarity index 71% rename from playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonDoubleStep.kt rename to playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonNumberStep.kt index d45f605..d8c1829 100644 --- a/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonDoubleStep.kt +++ b/playtest-gauge-rest/src/main/kotlin/com/uzabase/playtest/gauge/rest/json/JsonNumberStep.kt @@ -5,29 +5,30 @@ import com.uzabase.playtest.gauge.rest.DataStore import com.uzabase.playtest.json.JsonNode import org.junit.jupiter.api.Assertions.* -class JsonDoubleStep { - @Step("レスポンスのJSONのが小数のである") +class JsonNumberStep { + @Step("レスポンスのJSONのが数値のである") fun assertEquals(jsonPath: String, expected: Double) { val json = DataStore.loadResponseBodyFromScenario().string val actual = JsonNode.of(json).get(jsonPath) assertEquals(expected, actual) } - @Step("レスポンスのJSONのの配列の、UniqueKeyの値がである要素のが、小数値のである") + @Step("レスポンスのJSONのの配列の、UniqueKeyの値がである要素のが、数値のである") fun assertEqualsInUniqueObject(jsonPath: String, uniqueKey: String, filterValue: String, key: String, expected: Double) { val json = DataStore.loadResponseBodyFromScenario().string - val actual = JsonNode.of(json).getUniqElementInArray(jsonPath, uniqueKey, filterValue) - assertEquals(expected, actual[key]) + val m = JsonNode.of(json).getUniqElementInArray(jsonPath, uniqueKey, filterValue) + val actual = (m[key] as? Int)?.toDouble() ?: m[key] as Double + assertEquals(expected, actual) } - @Step("レスポンスのJSONの配列に、小数値が存在する") + @Step("レスポンスのJSONの配列に、数値が存在する") fun assertContains(jsonPath: String, value: Double) { val json = DataStore.loadResponseBodyFromScenario().string val list = JsonNode.of(json).get>(jsonPath)!! assertTrue(list.contains(value)) } - @Step("レスポンスのJSONの配列に、小数値が存在しない") + @Step("レスポンスのJSONの配列に、数値が存在しない") fun assertNotContains(jsonPath: String, value: Double) { val json = DataStore.loadResponseBodyFromScenario().string val list = JsonNode.of(json).get>(jsonPath)!!