|
|
@@ -0,0 +1,52 @@
|
|
|
+import chai, { expect } from 'chai'
|
|
|
+import chaiAsPromised from 'chai-as-promised'
|
|
|
+import { getServerStatus, ServerStatus } from 'common/mojang/net/ServerStatusAPI'
|
|
|
+
|
|
|
+chai.use(chaiAsPromised)
|
|
|
+
|
|
|
+describe('[Server Status API] Errors', () => {
|
|
|
+
|
|
|
+ it('Server Status (Not Found)', async () => {
|
|
|
+
|
|
|
+ await expect(getServerStatus(47, 'a', 25565)).to.eventually.be.null
|
|
|
+
|
|
|
+ }).timeout(5000)
|
|
|
+
|
|
|
+ it('Server Status (Wrong Port)', async () => {
|
|
|
+
|
|
|
+ await expect(getServerStatus(47, 'play.hypixel.net', 34454)).to.eventually.be.null
|
|
|
+
|
|
|
+ }).timeout(5000)
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+function verifyResult(res: ServerStatus): void {
|
|
|
+ expect(res).to.not.be.null
|
|
|
+ expect(res).to.be.an('object')
|
|
|
+ expect(res).to.have.property('version')
|
|
|
+ expect(res).to.have.property('players')
|
|
|
+ expect(res).to.have.property('description')
|
|
|
+ expect(res.players).to.be.an('object')
|
|
|
+ expect(res.players).to.have.property('max')
|
|
|
+ expect(res.players).to.have.property('online')
|
|
|
+ expect(res.description).to.be.an('object')
|
|
|
+ expect(res.description).to.have.property('text')
|
|
|
+}
|
|
|
+
|
|
|
+const serversToCheck = [
|
|
|
+ 'play.hypixel.net',
|
|
|
+ 'play.hivemc.com',
|
|
|
+ 'us.mineplex.com'
|
|
|
+]
|
|
|
+
|
|
|
+describe('[Server Status API] Server Status', () => {
|
|
|
+
|
|
|
+ for(const server of serversToCheck) {
|
|
|
+ it(`Server Status (${server})`, async () => {
|
|
|
+
|
|
|
+ verifyResult((await getServerStatus(47, server, 25565))!)
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+})
|