Skip to content

Commit 2051595

Browse files
authored
Fix allowed status for posting to non-existent target (#81)
1 parent 55b4e10 commit 2051595

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Use harness API to test sending requests without a content type header.
55
* Ensure container created correctly on slash semantic tests.
66
* Update default test subjects for latest releases.
7+
* For tests posting to a non-existent target, 405 is a valid response if target is not a container.
78

89
## Release 0.0.11
910
* Moved repository to `solid-contrib` organization.

protocol/writing-resource/post-target-not-found.feature

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Feature: POST to non-existing resource must result in 404
44
* def testContainer = rootTestContainer.createContainer()
55

66
Scenario: Reserved container does not exist
7-
* def container = testContainer.reserveContainer()
7+
* def container = testContainer.reserveContainer()
88
Given url container.url
99
And headers clients.alice.getAuthHeaders('POST', container.url)
1010
And header Content-Type = 'text/turtle'
@@ -16,15 +16,15 @@ Feature: POST to non-existing resource must result in 404
1616
And headers clients.alice.getAuthHeaders('GET', container.url)
1717
When method GET
1818
Then status 404
19-
19+
2020
Scenario: Reserved RDF resource does not exist
2121
* def rdfResource = testContainer.reserveResource('.ttl');
2222
Given url rdfResource.url
2323
And headers clients.alice.getAuthHeaders('POST', rdfResource.url)
2424
And header Content-Type = 'text/turtle'
2525
And request "<> a <#Something> ."
2626
When method POST
27-
Then status 404
27+
Then match [404, 405] contains responseStatus
2828

2929
Given url rdfResource.url
3030
And headers clients.alice.getAuthHeaders('GET', rdfResource.url)
@@ -38,21 +38,21 @@ Feature: POST to non-existing resource must result in 404
3838
And header Content-Type = 'application/ld+json'
3939
And request '{ "http://schema.org/name": "Thing" }'
4040
When method POST
41-
Then status 404
41+
Then match [404, 405] contains responseStatus
4242

4343
Given url jsonResource.url
4444
And headers clients.alice.getAuthHeaders('GET', jsonResource.url)
4545
When method GET
4646
Then status 404
47-
47+
4848
Scenario: Reserved resource does not exist
4949
* def fooResource = testContainer.reserveResource('.foo');
5050
Given url fooResource.url
5151
And headers clients.alice.getAuthHeaders('POST', fooResource.url)
5252
And header Content-Type = 'foo/bar'
53-
And request 'Foobar'
53+
And request 'Foobar'
5454
When method POST
55-
Then match [404, 415] contains responseStatus
55+
Then match [404, 405, 415] contains responseStatus
5656

5757
Given url fooResource.url
5858
And headers clients.alice.getAuthHeaders('GET', fooResource.url)

0 commit comments

Comments
 (0)