feat: move distribution builds to platform Docker builder
This commit is contained in:
@@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest";
|
||||
|
||||
import type { GamePluginResponse } from "../api/types";
|
||||
import { defaultServerCreateForm, runtimeBindingFields } from "../contracts/serverManagement";
|
||||
import { serverCreateRequestFromForm, serverInstanceIdFromName } from "./serverManagement";
|
||||
import { minimalServerCreateRequestFromForm, serverCreateRequestFromForm, serverInstanceIdFromName } from "./serverManagement";
|
||||
|
||||
const plugin: GamePluginResponse = {
|
||||
id: "game.runtime",
|
||||
@@ -83,6 +83,25 @@ describe("runtime profile server creation contracts", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("maps the create UI to a minimal server request", () => {
|
||||
const form = defaultServerCreateForm([plugin], []);
|
||||
const request = minimalServerCreateRequestFromForm({
|
||||
...form,
|
||||
name: " Minimal Runtime Server ",
|
||||
deploymentTargetId: "run-builder",
|
||||
runEndpointId: "run-existing",
|
||||
bindings: { "rcon.password": "secret://must-not-submit" },
|
||||
serverRoot: "/srv/must-not-submit"
|
||||
}, 16);
|
||||
|
||||
expect(request).toEqual({
|
||||
id: "server-minimal-runtime-server-16",
|
||||
pluginId: "game.runtime",
|
||||
name: "Minimal Runtime Server",
|
||||
idempotencyKey: "web:create:server-minimal-runtime-server-16:16"
|
||||
});
|
||||
});
|
||||
|
||||
it("generates server instance ids from the visible server name", () => {
|
||||
const form = defaultServerCreateForm([plugin], []);
|
||||
const request = serverCreateRequestFromForm({ ...form, name: " Runtime Server ", bindings: {} }, 17);
|
||||
|
||||
@@ -11,6 +11,16 @@ import type {
|
||||
} from "../api/types";
|
||||
import type { ServerCreateFormState, ServerMetadataFormState, ServerRemovalConfirmationState } from "../contracts/serverManagement";
|
||||
|
||||
export function minimalServerCreateRequestFromForm(form: ServerCreateFormState, sequence = Date.now()): ServerLifecycleCreateRequest {
|
||||
const id = form.id.trim() || serverInstanceIdFromName(form.name, sequence);
|
||||
return {
|
||||
id,
|
||||
pluginId: form.pluginId.trim(),
|
||||
name: form.name.trim(),
|
||||
idempotencyKey: lifecycleIdempotencyKey("create", id, sequence)
|
||||
};
|
||||
}
|
||||
|
||||
export function serverCreateRequestFromForm(form: ServerCreateFormState, sequence = Date.now()): ServerLifecycleCreateRequest {
|
||||
const id = form.id.trim() || serverInstanceIdFromName(form.name, sequence);
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user