Skip to content
This repository was archived by the owner on Apr 13, 2021. It is now read-only.
This repository was archived by the owner on Apr 13, 2021. It is now read-only.

Setup headless server integration tests #8

@randomPoison

Description

@randomPoison

Right now we have tests for the match state, but we don't have a way to test the running server outside of just running the client and playing the game. It would be beneficial if we could run tests against the server without needing to run the full Unity client, i.e. automated integration testing for the server.

This is currently somewhat blocked on #2, since right now we don't have a client interface setup for Rust. Since being able to write server tests in Rust is part of the motivation for #2, we should implement that first, and possibly implement integration tests as a way of partially testing the client connection logic as well.

The big challenge in implementing this will be integrating the connection logic into Unity. In theory we want the connection code to be async-aware even on the client side, but that brings some questions what reactor we can use. The easiest thing will be to spawn a background thread to handle the I/O and pass the output to the main thread via channels, but ideally we should be able to turn the reactor manually each frame in the client and perform all I/O on the main thread. Some initial investigation

Metadata

Metadata

Assignees

No one assigned

    Labels

    serverChanges that specifically affect the server codebase

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions