finishing tests for v2

This commit is contained in:
2023-04-25 13:06:45 +02:00
parent e9277c3862
commit bd023aac45
5 changed files with 81 additions and 56 deletions
+1 -4
View File
@@ -2,7 +2,4 @@ POSTGRES_HOST="localhost"
POSTGRES_DATABASE="postgres" POSTGRES_DATABASE="postgres"
POSTGRES_USER="postgres" POSTGRES_USER="postgres"
POSTGRES_PASSWORD="postgres" POSTGRES_PASSWORD="postgres"
REDIS_USER="default" SERVERAUTH_TOKEN="1:f9f8fc8c-9185-47a8-8a99-9e3acf6ca007"
REDIS_PASSWORD=""
REDIS_URL="redis://awesome.redis.server:6379"
SERVERAUTH_TEST="1:f9f8fc8c-9185-47a8-8a99-9e3acf6ca007"
+1 -1
View File
@@ -1,7 +1,7 @@
import { Client } from 'pg' import { Client } from 'pg'
import { allData } from './process' import { allData } from './process'
const pgClient = new Client({ export const pgClient = new Client({
host: process.env.POSTGRES_HOST, host: process.env.POSTGRES_HOST,
database: process.env.POSTGRES_DATABASE, database: process.env.POSTGRES_DATABASE,
user: process.env.POSTGRES_USER, user: process.env.POSTGRES_USER,
+4 -1
View File
@@ -1,11 +1,13 @@
import { afterAll, beforeAll, describe, expect, test } from '@jest/globals' import { afterAll, beforeAll, describe, expect, jest, test } from '@jest/globals'
import clientMain from '../src/clientMain' import clientMain from '../src/clientMain'
import { pgClient } from '../src/process/onKill'
import * as dotenv from 'dotenv' import * as dotenv from 'dotenv'
import db from '../src/db/db' import db from '../src/db/db'
dotenv.config() dotenv.config()
let listenServer let listenServer
jest.setTimeout(30000)
beforeAll(async () => { beforeAll(async () => {
listenServer = await clientMain; listenServer = await clientMain;
}) })
@@ -59,6 +61,7 @@ describe('client', () => {
afterAll((done) => { afterAll((done) => {
listenServer.close(async () => { listenServer.close(async () => {
await pgClient.end()
await db.destroy() await db.destroy()
done() done()
}) })
+33 -16
View File
@@ -1,29 +1,30 @@
import { afterAll, beforeAll, describe, expect, jest, test } from '@jest/globals' import { afterAll, beforeAll, describe, expect, jest, test } from '@jest/globals'
import clientMain from '../src/clientMain' import clientMain from '../src/clientMain'
import serverMain from '../src/serverMain' import serverMain from '../src/serverMain'
import listenKills from "../src/process/onKill" import { pgClient } from '../src/process/onKill'
import * as dotenv from 'dotenv' import * as dotenv from 'dotenv'
import db from '../src/db/db' import db from '../src/db/db'
dotenv.config() dotenv.config()
let listenClient let listenClient
let listenServer let listenServer
let pgClient
const data = { const data = {
servername: 'testserver',
attacker_weapon_1_mods: 0, attacker_weapon_1_mods: 0,
victim_id: '0', victim_id: '0',
servername: 'testServer',
victim_name: 'TestVictim', victim_name: 'TestVictim',
victim_offhand_weapon_2: 0, victim_offhand_weapon_2: 'null',
attacker_offhand_weapon_3: '0', victim_offhand_weapon_2_mods: 0,
victim_weapon_3_mods: 0, victim_weapon_3_mods: 0,
attacker_weapon_2_mods: 0, attacker_weapon_2_mods: NaN,
attacker_offhand_weapon_1: 0, attacker_offhand_weapon_1: 'null',
attacker_weapon_3_mods: 0, attacker_offhand_weapon_1_mods: 0,
attacker_offhand_weapon_2: 0, attacker_weapon_3_mods: NaN,
victim_offhand_weapon_3: '0', attacker_offhand_weapon_2: 'null',
victim_offhand_weapon_1: 0, attacker_offhand_weapon_2_mods: NaN,
victim_offhand_weapon_1: 'offhand_weapon_test',
victim_offhand_weapon_1_mods: 0,
attacker_weapon_3: 'defender', attacker_weapon_3: 'defender',
killstat_version: 'ks_3.0.0', killstat_version: 'ks_3.0.0',
attacker_weapon_1: 'smr', attacker_weapon_1: 'smr',
@@ -41,11 +42,13 @@ const data = {
game_mode: 'tdm', game_mode: 'tdm',
map: 'thaw', map: 'thaw',
attacker_weapon_2: 'autopistol', attacker_weapon_2: 'autopistol',
victim_weapon_1: 'smr', victim_weapon_1: 'null',
victim_weapon_2: 'autopistol', victim_weapon_2: 'autopistol',
victim_weapon_1_mods: 0, victim_weapon_1_mods: 0,
victim_weapon_3: 'defender', victim_weapon_3: 'defender',
attacker_name: 'TestAttacker' attacker_name: 'TestAttacker',
victim_titan: 'null',
attacker_titan: 'null'
} }
function waitFor(time: number) { function waitFor(time: number) {
@@ -54,13 +57,11 @@ function waitFor(time: number) {
}) })
} }
jest.setTimeout(15000) jest.setTimeout(30000)
beforeAll(async () => { beforeAll(async () => {
jest.setTimeout(15000)
listenClient = await clientMain; listenClient = await clientMain;
listenServer = await serverMain; listenServer = await serverMain;
pgClient = await listenKills()
const yea = waitFor(1000) const yea = waitFor(1000)
const response = await fetch(`http://127.0.0.1:3001/kill`, { const response = await fetch(`http://127.0.0.1:3001/kill`, {
method: "POST", // *GET, POST, PUT, DELETE, etc. method: "POST", // *GET, POST, PUT, DELETE, etc.
@@ -79,6 +80,7 @@ describe('realtime', () => {
let playerKills let playerKills
let weaponKills let weaponKills
let playerDeaths let playerDeaths
let serverKills
test('fetch player', async () => { test('fetch player', async () => {
const request = await fetch("http://127.0.0.1:3000/players") const request = await fetch("http://127.0.0.1:3000/players")
const data = await request.json() const data = await request.json()
@@ -100,6 +102,14 @@ describe('realtime', () => {
weaponKills = weapon.kills weaponKills = weapon.kills
}) })
test('fetch server', async () => {
const request = await fetch("http://127.0.0.1:3000/servers")
const data = await request.json()
const server = data.testserver
expect(server).toHaveProperty('kills')
serverKills = server.kills
})
test('update player', async () => { test('update player', async () => {
jest.setTimeout(15000) jest.setTimeout(15000)
const yea = waitFor(1000) const yea = waitFor(1000)
@@ -130,6 +140,13 @@ describe('realtime', () => {
expect(weapon.kills).toBe(weaponKills + 1) expect(weapon.kills).toBe(weaponKills + 1)
}) })
test('check server update', async () => {
const request = await fetch("http://127.0.0.1:3000/servers")
const data = await request.json()
const server = data.testserver
expect(server.kills).toBe(serverKills + 1)
})
}) })
afterAll((done) => { afterAll((done) => {
+42 -34
View File
@@ -65,15 +65,17 @@ describe('server', () => {
attacker_weapon_1_mods: 0, attacker_weapon_1_mods: 0,
victim_id: '0', victim_id: '0',
victim_name: 'TestVictim', victim_name: 'TestVictim',
victim_offhand_weapon_2: 0, victim_offhand_weapon_2: 'offhand_weapon_test',
attacker_offhand_weapon_3: '0', victim_offhand_weapon_2_mods: 0,
victim_weapon_3_mods: 0, victim_weapon_3_mods: 0,
attacker_weapon_2_mods: 0, attacker_weapon_2_mods: 0,
attacker_offhand_weapon_1: 0, attacker_offhand_weapon_1: 'offhand_weapon_test',
attacker_offhand_weapon_1_mods: 0,
attacker_weapon_3_mods: 0, attacker_weapon_3_mods: 0,
attacker_offhand_weapon_2: 0, attacker_offhand_weapon_2: 'offhand_weapon_test',
victim_offhand_weapon_3: '0', attacker_offhand_weapon_2_mods: 0,
victim_offhand_weapon_1: 0, victim_offhand_weapon_1: 'offhand_weapon_test',
victim_offhand_weapon_1_mods: 0,
attacker_weapon_3: 'defender', attacker_weapon_3: 'defender',
killstat_version: 'ks_3.0.0', killstat_version: 'ks_3.0.0',
attacker_weapon_1: 'smr', attacker_weapon_1: 'smr',
@@ -95,7 +97,9 @@ describe('server', () => {
victim_weapon_2: 'autopistol', victim_weapon_2: 'autopistol',
victim_weapon_1_mods: 0, victim_weapon_1_mods: 0,
victim_weapon_3: 'defender', victim_weapon_3: 'defender',
attacker_name: 'TestAttacker' attacker_name: 'TestAttacker',
victim_titan: 'null',
attacker_titan: 'null'
} }
const response = await fetch(`http://127.0.0.1:3001/kill`, { const response = await fetch(`http://127.0.0.1:3001/kill`, {
method: "POST", // *GET, POST, PUT, DELETE, etc. method: "POST", // *GET, POST, PUT, DELETE, etc.
@@ -114,40 +118,44 @@ describe('server', () => {
test('register a kill with missing data', async () => { test('register a kill with missing data', async () => {
const data = { const data = {
servername: 'testserver', servername: 'testserver',
attacker_weapon_1_mods: NaN, attacker_weapon_1_mods: 0,
victim_id: '0', victim_id: '0',
victim_name: 'TestVictim', victim_name: 'TestVictim',
victim_offhand_weapon_2: NaN, victim_offhand_weapon_2: 'null',
attacker_offhand_weapon_3: 'null', victim_offhand_weapon_2_mods: 0,
victim_weapon_3_mods: 19, victim_weapon_3_mods: 0,
attacker_weapon_2_mods: NaN, attacker_weapon_2_mods: NaN,
attacker_offhand_weapon_1: NaN, attacker_offhand_weapon_1: 'null',
attacker_offhand_weapon_1_mods: 0,
attacker_weapon_3_mods: NaN, attacker_weapon_3_mods: NaN,
attacker_offhand_weapon_2: NaN, attacker_offhand_weapon_2: 'null',
victim_offhand_weapon_3: '0', attacker_offhand_weapon_2_mods: NaN,
victim_offhand_weapon_1: 1, victim_offhand_weapon_1: 'offhand_weapon_test',
attacker_weapon_3: 'null', victim_offhand_weapon_1_mods: 0,
attacker_weapon_3: 'defender',
killstat_version: 'ks_3.0.0', killstat_version: 'ks_3.0.0',
attacker_weapon_1: 'null', attacker_weapon_1: 'smr',
match_id: '554fa7a3', match_id: '31b1f34d',
distance: 202, distance: 0,
victim_current_weapon: 'car', victim_current_weapon: 'smr',
cause_of_death: 'satchel', cause_of_death: 'smr',
victim_weapon_2_mods: NaN, victim_weapon_2_mods: 0,
victim_current_weapon_mods: NaN, victim_current_weapon_mods: 0,
attacker_current_weapon_mods: NaN, attacker_current_weapon_mods: 0,
game_time: 516.417, game_time: 377.799,
player_count: 13, player_count: 1,
attacker_current_weapon: 'null', attacker_current_weapon: 'smr',
attacker_id: '1', attacker_id: '1',
game_mode: 'ps', game_mode: 'tdm',
map: 'grave', map: 'thaw',
attacker_weapon_2: 'null', attacker_weapon_2: 'autopistol',
victim_weapon_1: 'car', victim_weapon_1: 'null',
victim_weapon_2: 'autopistol', victim_weapon_2: 'autopistol',
victim_weapon_1_mods: NaN, victim_weapon_1_mods: 0,
victim_weapon_3: 'arc_launcher', victim_weapon_3: 'defender',
attacker_name: 'TestAttacker' attacker_name: 'TestAttacker',
victim_titan: 'null',
attacker_titan: 'null'
} }
const response = await fetch(`http://127.0.0.1:3001/kill`, { const response = await fetch(`http://127.0.0.1:3001/kill`, {
method: "POST", // *GET, POST, PUT, DELETE, etc. method: "POST", // *GET, POST, PUT, DELETE, etc.