First development of the deploy action (#6)
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Deploy js code to an instance of screeps. Some debugging tools are implemented. Reviewed-on: #6 Co-authored-by: Philipp Horstenkamp <philipp@horstenkamp.de> Co-committed-by: Philipp Horstenkamp <philipp@horstenkamp.de>
This commit is contained in:
62
node_modules/screeps-api/test/api.raw.general.js
generated
vendored
Normal file
62
node_modules/screeps-api/test/api.raw.general.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
const assert = require('assert');
|
||||
const _ = require('lodash');
|
||||
const { ScreepsAPI } = require('../');
|
||||
const auth = require('./credentials')
|
||||
|
||||
describe('api.raw', function() {
|
||||
|
||||
this.slow(2000);
|
||||
this.timeout(5000);
|
||||
|
||||
describe('.version()', function() {
|
||||
it('should call /api/version endpoint and return version information', async function() {
|
||||
let opts = _.omit(auth, ['username', 'password'])
|
||||
let api = new ScreepsAPI(opts)
|
||||
let res = await api.raw.version()
|
||||
assert.equal(res.ok, 1, 'incorrect server response: ok should be 1')
|
||||
assert(_.has(res, 'protocol'), 'response has no protocol field')
|
||||
assert(_.has(res, 'serverData.historyChunkSize'), 'response has no serverData.historyChunkSize field')
|
||||
if (api.opts.hostname === 'screeps.com') {
|
||||
assert(_.has(res, 'package'), 'response has no package field')
|
||||
assert(_.has(res, 'serverData.shards'), 'response has no serverData.shards field')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe('.authmod()', function() {
|
||||
it('should return server name from /authmod for private servers with authmod', async function() {
|
||||
let opts = _.omit(auth, ['username', 'password'])
|
||||
let api = new ScreepsAPI(opts)
|
||||
let res = await api.raw.authmod()
|
||||
if (api.opts.hostname === 'screeps.com') {
|
||||
assert.equal(res.name, 'official', 'invalid name for official server')
|
||||
} else {
|
||||
assert.equal(res.ok, 1, 'incorrect server response: ok should be 1')
|
||||
assert(_.has(res, 'name'), 'server response should have a name field')
|
||||
assert(_.has(res, 'version'), 'server response should have a version field')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// This API is not implemented for private servers
|
||||
describe.skip('.history(room, tick)', function() {
|
||||
it('should return room history as a json file', async function() {
|
||||
let opts = _.omit(auth, ['username', 'password'])
|
||||
let api = new ScreepsAPI(opts)
|
||||
// Get current tick (as history is not kept forever)
|
||||
let res = await api.raw.game.time('shard1')
|
||||
let time = res.time - 1000 // history is not available right away
|
||||
// Make sure that time is not a multiple of 20 or 100
|
||||
time = (time % 20 === 0) ? time - 10 : time
|
||||
// Try to get history for W1N1
|
||||
let json = await api.raw.history('W1N1', time, 'shard1')
|
||||
// Verify results
|
||||
assert(_.has(json, 'ticks'), 'result has no ticks field')
|
||||
assert(_.size(json.ticks) >= 20, 'results are incomplete ; official server usually returns 100 ticks and private servers should return at least 20 ticks')
|
||||
assert.equal(json.room, 'W1N1', 'result room is incorrect')
|
||||
assert(_.has(json, 'timestamp'), 'result has no timestamp field')
|
||||
assert(_.has(json, 'base'), 'result has no base field')
|
||||
})
|
||||
})
|
||||
|
||||
})
|
Reference in New Issue
Block a user