// Code generated by smithy-go-codegen DO NOT EDIT. //go:build snapshot package ssooidc import ( "context" "errors" "fmt" "github.com/aws/smithy-go/middleware" "io" "io/fs" "os" "testing" ) const ssprefix = "snapshot" type snapshotOK struct{} func (snapshotOK) Error() string { return "error: success" } func createp(path string) (*os.File, error) { if err := os.Mkdir(ssprefix, 0700); err != nil && !errors.Is(err, fs.ErrExist) { return nil, err } return os.Create(path) } func sspath(op string) string { return fmt.Sprintf("%s/api_op_%s.go.snap", ssprefix, op) } func updateSnapshot(stack *middleware.Stack, operation string) error { f, err := createp(sspath(operation)) if err != nil { return err } defer f.Close() if _, err := f.Write([]byte(stack.String())); err != nil { return err } return snapshotOK{} } func testSnapshot(stack *middleware.Stack, operation string) error { f, err := os.Open(sspath(operation)) if errors.Is(err, fs.ErrNotExist) { return snapshotOK{} } if err != nil { return err } defer f.Close() expected, err := io.ReadAll(f) if err != nil { return err } if actual := stack.String(); actual != string(expected) { return fmt.Errorf("%s != %s", expected, actual) } return snapshotOK{} } func TestCheckSnapshot_CreateToken(t *testing.T) { svc := New(Options{}) _, err := svc.CreateToken(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return testSnapshot(stack, "CreateToken") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestCheckSnapshot_CreateTokenWithIAM(t *testing.T) { svc := New(Options{}) _, err := svc.CreateTokenWithIAM(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return testSnapshot(stack, "CreateTokenWithIAM") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestCheckSnapshot_RegisterClient(t *testing.T) { svc := New(Options{}) _, err := svc.RegisterClient(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return testSnapshot(stack, "RegisterClient") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestCheckSnapshot_StartDeviceAuthorization(t *testing.T) { svc := New(Options{}) _, err := svc.StartDeviceAuthorization(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return testSnapshot(stack, "StartDeviceAuthorization") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestUpdateSnapshot_CreateToken(t *testing.T) { svc := New(Options{}) _, err := svc.CreateToken(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return updateSnapshot(stack, "CreateToken") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestUpdateSnapshot_CreateTokenWithIAM(t *testing.T) { svc := New(Options{}) _, err := svc.CreateTokenWithIAM(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return updateSnapshot(stack, "CreateTokenWithIAM") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestUpdateSnapshot_RegisterClient(t *testing.T) { svc := New(Options{}) _, err := svc.RegisterClient(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return updateSnapshot(stack, "RegisterClient") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } } func TestUpdateSnapshot_StartDeviceAuthorization(t *testing.T) { svc := New(Options{}) _, err := svc.StartDeviceAuthorization(context.Background(), nil, func(o *Options) { o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error { return updateSnapshot(stack, "StartDeviceAuthorization") }) }) if _, ok := err.(snapshotOK); !ok && err != nil { t.Fatal(err) } }