// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package orchestrator import ( "testing" apiv1 "github.com/google/android-cuttlefish/frontend/src/host_orchestrator/api/v1" ) func TestValidateSnapshotID(t *testing.T) { var inputs = []struct { val string fails bool }{ {"__--aazz0099--__", false}, {"az09-_~", true}, {"az09-_A", true}, } for _, i := range inputs { err := ValidateSnapshotID(i.val) if i.fails && err == nil { t.Fatalf("expected error, got %s", err) } if !i.fails && err != nil { t.Fatalf("expected , got %s", err) } } } func TestValidateCreateSnapshotRequest(t *testing.T) { var inputs = []struct { val *apiv1.CreateSnapshotRequest fails bool }{ { &apiv1.CreateSnapshotRequest{}, false, }, { &apiv1.CreateSnapshotRequest{SnapshotID: "foo"}, false, }, { &apiv1.CreateSnapshotRequest{SnapshotID: "~foo"}, true, }, } for _, i := range inputs { err := ValidateCreateSnapshotRequest(i.val) if i.fails && err == nil { t.Fatalf("expected error, got %s", err) } if !i.fails && err != nil { t.Fatalf("expected , got %s", err) } } } func TestValidateStartCVDRequest(t *testing.T) { var inputs = []struct { val *apiv1.StartCVDRequest fails bool }{ { &apiv1.StartCVDRequest{}, false, }, { &apiv1.StartCVDRequest{SnapshotID: "foo"}, false, }, { &apiv1.StartCVDRequest{SnapshotID: "~foo"}, true, }, } for _, i := range inputs { err := ValidateStartCVDRequest(i.val) if i.fails && err == nil { t.Fatalf("expected error, got %s", err) } if !i.fails && err != nil { t.Fatalf("expected , got %s", err) } } }