package persistence

import "testing"

func TestRuntimeWorkScopeDigestIsLengthDelimited(t *testing.T) {
	left := RuntimeWorkScope{
		OrgID:               "org",
		AppInstallationID:   "installation\x00capability",
		RuntimeCapabilityID: "tail",
	}
	right := RuntimeWorkScope{
		OrgID:               "org\x00installation",
		AppInstallationID:   "capability",
		RuntimeCapabilityID: "tail",
	}
	leftDigest, err := left.Digest()
	if err != nil {
		t.Fatal(err)
	}
	rightDigest, err := right.Digest()
	if err != nil {
		t.Fatal(err)
	}
	if leftDigest == rightDigest {
		t.Fatalf("length-delimited scope digests collided: %s", leftDigest)
	}
	if len(leftDigest) != 64 || len(rightDigest) != 64 {
		t.Fatalf("scope digest lengths = %d/%d, want 64/64", len(leftDigest), len(rightDigest))
	}
}
