Skip to content
quarry Artifact [adcdfae738]
Login

Artifact [adcdfae738]

Artifact adcdfae7381f2004621368c65cdc5d7f09424fdaa35f2140b9fd8f34068c33f8:


package api

import (
	"context"
	"encoding/json"
	"testing"

	"craftdesign.group/quarry/internal/ops"
)

func TestVersionAndOpsNameTheNode(t *testing.T) {
	r := ops.NewRegistry()
	if err := RegisterAll(r, Deps{Version: "v", Repos: NewRepos(map[string]*Repo{}), Node: "0123456789ab"}); err != nil {
		t.Fatal(err)
	}
	v, err := r.Invoke(context.Background(), "meta.version", versionIn{})
	if err != nil {
		t.Fatal(err)
	}
	raw, _ := json.Marshal(v)
	var vj map[string]any
	json.Unmarshal(raw, &vj)
	if vj["node"] != "0123456789ab" {
		t.Errorf("FAIL: /api/v1/version node = %v in %s", vj["node"], raw)
	}
	o, err := r.Invoke(ops.WithUser(context.Background(), "dan"), "ops.status", opsStatusIn{})
	if err != nil {
		t.Fatal(err)
	}
	raw, _ = json.Marshal(o)
	var oj map[string]any
	json.Unmarshal(raw, &oj)
	if oj["node"] != "0123456789ab" {
		t.Errorf("FAIL: ops.status node = %v", oj["node"])
	}
}