@@ -14,7 +14,7 @@ class DateTimePropertiesSuffixRuleTest {
1414 private val rule = DateTimePropertiesSuffixRule (rulesConfig)
1515
1616 @Test
17- fun `rule should pass with correct 'date-time' fields ` () {
17+ fun `rule should pass with correct format and suffix ` () {
1818 @Language(" YAML" )
1919 val content = """
2020 openapi: '3.0.1'
@@ -28,44 +28,18 @@ class DateTimePropertiesSuffixRuleTest {
2828 created_at:
2929 type: string
3030 format: date-time
31- modified_at :
31+ modified_time :
3232 type: string
33- format: date- time
34- occurred_at :
33+ format: time
34+ occurred_timestamp :
3535 type: string
3636 format: date-time
37- returned_at:
38- type: string
39- format: date-time
40- """ .trimIndent()
41- val violations = rule.validate(DefaultContextFactory ().getOpenApiContext(content))
42- assertThat(violations).isEmpty()
43- }
44-
45- @Test
46- fun `rule should pass with correct 'date' fields` () {
47- @Language(" YAML" )
48- val content = """
49- openapi: '3.0.1'
50- info:
51- title: Test API
52- version: 1.0.0
53- components:
54- schemas:
55- Car:
56- properties:
57- created_at:
37+ returned_date:
5838 type: string
5939 format: date
60- modified_at:
61- type: string
62- format: date
63- occurred_at:
40+ delivered_day:
6441 type: string
65- format: date
66- returned_at:
67- type: string
68- format: date
42+ format: date
6943 """ .trimIndent()
7044 val violations = rule.validate(DefaultContextFactory ().getOpenApiContext(content))
7145 assertThat(violations).isEmpty()
@@ -84,12 +58,15 @@ class DateTimePropertiesSuffixRuleTest {
8458 Car:
8559 properties:
8660 created:
87- type: string
61+ type: string
62+ modified:
63+ type: enum
64+ enum: [ "yes", "no" ]
8865 occurred:
8966 type: string
9067 returned:
9168 type: string
92- modified :
69+ delivered :
9370 type: int
9471 """ .trimIndent()
9572 val violations = rule.validate(DefaultContextFactory ().getOpenApiContext(content))
@@ -111,50 +88,26 @@ class DateTimePropertiesSuffixRuleTest {
11188 created:
11289 type: string
11390 format: date-time
91+ modified:
92+ type: string
93+ format: time
11494 occurred:
11595 type: string
116- format: date
96+ format: date-time
11797 returned:
11898 type: string
119- format: date-time
120- modified :
99+ format: date
100+ delivered :
121101 type: string
122102 format: date
123103 """ .trimIndent()
124104 val violations = rule.validate(DefaultContextFactory ().getOpenApiContext(content))
125105 assertThat(violations.map { it.description }).containsExactly(
126106 rule.generateMessage(" created" , " string" , " date-time" ),
127- rule.generateMessage(" occurred" , " string" , " date" ),
128- rule.generateMessage(" returned" , " string" , " date-time" ),
129- rule.generateMessage(" modified" , " string" , " date" )
130- )
131- }
132-
133- @Test
134- fun `rule should support different patterns` () {
135- @Language(" YAML" )
136- val content = """
137- openapi: '3.0.1'
138- info:
139- title: Test API
140- version: 1.0.0
141- components:
142- schemas:
143- Car:
144- properties:
145- created:
146- type: string
147- format: date-time
148- modified:
149- type: string
150- format: date
151- """ .trimIndent()
152- val newConfig = rulesConfig.withValue(" DateTimePropertiesSuffixRule/patterns" , ConfigValueFactory .fromIterable(listOf (" was_.*" )))
153- val customRule = DateTimePropertiesSuffixRule (newConfig)
154- val violations = customRule.validate(DefaultContextFactory ().getOpenApiContext(content))
155- assertThat(violations.map { it.description }).containsExactly(
156- customRule.generateMessage(" created" , " string" , " date-time" ),
157- customRule.generateMessage(" modified" , " string" , " date" )
107+ rule.generateMessage(" modified" , " string" , " time" ),
108+ rule.generateMessage(" occurred" , " string" , " date-time" ),
109+ rule.generateMessage(" returned" , " string" , " date" ),
110+ rule.generateMessage(" delivered" , " string" , " date" )
158111 )
159112 }
160113}
0 commit comments