-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
content-type.feature
78 lines (70 loc) · 2.68 KB
/
content-type.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Feature: exotic content-type situations
Background:
* url demoBaseUrl
Scenario: json post with charset
Given path 'search', 'headers'
And header Content-Type = 'application/json; charset=utf-8'
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/json;')
* assert temp.contains('charset=utf-8')
Scenario: form post with charset
Given path 'search', 'headers'
And header Content-Type = 'application/x-www-form-urlencoded; charset=utf-8'
And form field foo = 'bar'
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/x-www-form-urlencoded;')
* assert temp.contains('charset=utf-8')
Scenario: json post with with charset and version
Given path 'search', 'headers'
And header Content-Type = 'application/json; charset=utf-8; version=1.2.3'
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/json;')
* assert temp.contains('charset=utf-8')
* assert temp.contains('version=1.2.3')
@mock-servlet-todo
Scenario: json post with with unusual content-type and parameter
Given path 'search', 'headers'
And header Content-Type = 'application/vnd.app.test+json;ton-version=1'
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/vnd.app.test+json;')
* assert temp.contains('charset=utf-8')
* assert temp.contains('ton-version=1')
@apache @mock-servlet-todo
Scenario: empty string as content-type
Given path 'search', 'headers'
And header Content-Type = ''
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0]
* assert temp == ''
Scenario: json post with header but NO charset
Given path 'search', 'headers'
And configure charset = null
And header Content-Type = 'application/json'
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/json')
* assert !temp.contains('charset=utf-8')
Scenario: json post with default header but NO charset
Given path 'search', 'headers'
And configure charset = null
And request { foo: 'bar' }
When method post
Then status 200
* def temp = response['content-type'][0].toLowerCase()
* assert temp.contains('application/json')
* assert !temp.contains('charset=utf-8')