|
1 | | -var fs = require('fs-extra') |
2 | | -var rimraf = require('rimraf') |
3 | | -var path = require('path') |
| 1 | +const fs = require('fs-extra') |
| 2 | +const rimraf = require('rimraf') |
| 3 | +const path = require('path') |
4 | 4 | const OIDCProvider = require('@solid/oidc-op') |
5 | 5 | const dns = require('dns') |
| 6 | +const ldnode = require('../index') |
| 7 | +const supertest = require('supertest') |
6 | 8 |
|
7 | 9 | const TEST_HOSTS = ['nic.localhost', 'tim.localhost', 'nicola.localhost'] |
8 | 10 |
|
@@ -80,3 +82,52 @@ exports.loadProvider = function loadProvider (configPath) { |
80 | 82 | return provider.initializeKeyChain(config.keys) |
81 | 83 | }) |
82 | 84 | } |
| 85 | + |
| 86 | +exports.createServer = createServer |
| 87 | +function createServer (options) { |
| 88 | + return ldnode.createServer(options) |
| 89 | +} |
| 90 | + |
| 91 | +exports.setupSuperServer = setupSuperServer |
| 92 | +function setupSuperServer (options) { |
| 93 | + const ldpServer = createServer(options) |
| 94 | + return supertest(ldpServer) |
| 95 | +} |
| 96 | + |
| 97 | +/** |
| 98 | + * Creates a new test basic container via an LDP POST |
| 99 | + * (located in `test/resources/{containerName}`) |
| 100 | + * @method createTestContainer |
| 101 | + * @param server {supertest} An instance of a supertest server |
| 102 | + * @param containerName {String} Container name used as slug, no leading `/` |
| 103 | + * @return {Promise} Promise obj, for use with Mocha's `before()` etc |
| 104 | + */ |
| 105 | +exports.createTestContainer = function createTestContainer (server, containerName) { |
| 106 | + return new Promise(function (resolve, reject) { |
| 107 | + server.post('/') |
| 108 | + .set('content-type', 'text/turtle') |
| 109 | + .set('slug', containerName) |
| 110 | + .set('link', '<http://www.w3.org/ns/ldp#BasicContainer>; rel="type"') |
| 111 | + .set('content-type', 'text/turtle') |
| 112 | + .end(function (error, res) { |
| 113 | + error ? reject(error) : resolve(res) |
| 114 | + }) |
| 115 | + }) |
| 116 | +} |
| 117 | + |
| 118 | +/** |
| 119 | + * Creates a new turtle test resource via an LDP PUT |
| 120 | + * (located in `test/resources/{resourceName}`) |
| 121 | + * @method createTestResource |
| 122 | + * @param resourceName {String} Resource name (should have a leading `/`) |
| 123 | + * @return {Promise} Promise obj, for use with Mocha's `before()` etc |
| 124 | + */ |
| 125 | +exports.createTestResource = function createTestResource (server, resourceName) { |
| 126 | + return new Promise(function (resolve, reject) { |
| 127 | + server.put(resourceName) |
| 128 | + .set('content-type', 'text/turtle') |
| 129 | + .end(function (error, res) { |
| 130 | + error ? reject(error) : resolve(res) |
| 131 | + }) |
| 132 | + }) |
| 133 | +} |
0 commit comments