1 | var test = require('tape')
|
2 | var contentType = require('content-type')
|
3 | var hyperquest = require('hyperquest')
|
4 | var concat = require('concat-stream')
|
5 |
|
6 | var base
|
7 | var server
|
8 |
|
9 | var createServer = require('./lib/test_server.js')
|
10 |
|
11 | test('malformed_changeset.js: setup server', function (t) {
|
12 | createServer(function (d) {
|
13 | base = d.base
|
14 | server = d.server
|
15 | t.end()
|
16 | })
|
17 | })
|
18 |
|
19 | test('send malformed changeset upload', function (t) {
|
20 | t.plan(4)
|
21 | var href = base + 'changeset/create'
|
22 | var hq = hyperquest.put(href, {
|
23 | headers: { 'content-type': 'text/xml' }
|
24 | })
|
25 | hq.once('response', function (res) {
|
26 | t.notEqual(res.statusCode, 200, 'malformed xml error code')
|
27 | var contentObj = contentType.parse(res)
|
28 | t.equal(contentObj.type, 'text/plain', 'media type correct')
|
29 | t.equal(contentObj.parameters.charset.toLowerCase(), 'utf-8', 'charset correct')
|
30 | })
|
31 | hq.pipe(concat({ encoding: 'string' }, function (body) {
|
32 | t.notOk(/^[0-9A-Fa-f]+$/.test(body.trim()), 'not an id')
|
33 | }))
|
34 | hq.end(`<osm>
|
35 | <changeset
|
36 | <tag k="comment" v="wow"/>
|
37 | </changeset>
|
38 | </osm>`)
|
39 | })
|
40 |
|
41 | test('malformed_changeset.js: teardown server', function (t) {
|
42 | server.cleanup(function () {
|
43 | t.end()
|
44 | })
|
45 | })
|