carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package launchctx
2
3import "testing"
4
5func TestModeDecodersRefuseOtherLaunchClass(t *testing.T) {
6 v2, c := launchFixture(t)
7 if _, err := DecodeChecker(v2); err != nil {
8 t.Fatal(err)
9 }
10 if _, err := DecodeOperator(v2); err == nil {
11 t.Fatal("checker accepted as mutable operator")
12 }
13 c.Version = 1
14 c.ExecutionKind, c.OperationID, c.ExpectedStateSHA256 = "", "", ""
15 c.ClosedCheckpoint = nil
16 v1, err := EncodeLaunch(c)
17 if err != nil {
18 t.Fatal(err)
19 }
20 if _, err := DecodeOperator(v1); err != nil {
21 t.Fatal(err)
22 }
23 if _, err := DecodeChecker(v1); err == nil {
24 t.Fatal("mutable operator accepted as checker")
25 }
26 for _, decode := range []func([]byte) (LaunchContext, error){DecodeOperator, DecodeChecker} {
27 if _, err := decode([]byte(`{}`)); err == nil {
28 t.Fatal("malformed context accepted")
29 }
30 }
31}
32