UNPKG

1.2 kBJavaScriptView Raw
1var test = require('tape')
2var contentType = require('content-type')
3var hyperquest = require('hyperquest')
4var concat = require('concat-stream')
5
6var base
7var server
8
9var createServer = require('./lib/test_server.js')
10
11test('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
19test('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
41test('malformed_changeset.js: teardown server', function (t) {
42 server.cleanup(function () {
43 t.end()
44 })
45})