mirror of
https://github.com/bcomnes/deploy-to-neocities.git
synced 2026-01-16 22:56:28 +00:00
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
import tape from 'tape';
|
|
import ptape from 'tape-promise';
|
|
import { readFileSync } from 'fs';
|
|
import { resolve } from 'path';
|
|
import { NeocitiesAPIClient } from './lib/client.js';
|
|
const test = ptape(tape);
|
|
|
|
let token = process.env.NEOCITIES_API_TOKEN;
|
|
|
|
if (!token) {
|
|
try {
|
|
const config = JSON.parse(readFileSync(resolve(__dirname, 'config.json')));
|
|
token = config.token;
|
|
} catch (e) {
|
|
console.warn('error loading config.json');
|
|
console.warn(e);
|
|
}
|
|
}
|
|
|
|
if (token) {
|
|
test('token loaded', async t => {
|
|
t.ok(token);
|
|
});
|
|
|
|
test('basic client api', async t => {
|
|
const client = new NeocitiesAPIClient(token);
|
|
|
|
t.ok(client.info, 'info method available');
|
|
t.ok(client.list, 'list method available');
|
|
t.ok(client.get, 'get method available');
|
|
t.ok(client.post, 'post method available');
|
|
});
|
|
|
|
test('can get info about site', async t => {
|
|
const client = new NeocitiesAPIClient(token);
|
|
|
|
const info = await client.info();
|
|
console.log(info);
|
|
const list = await client.list();
|
|
console.log(list);
|
|
});
|
|
} else {
|
|
console.warn('No token set, live tests disabled');
|
|
}
|