...

Source file src/github.com/aws/aws-sdk-go-v2/service/ssooidc/snapshot_test.go

Documentation: github.com/aws/aws-sdk-go-v2/service/ssooidc

     1  // Code generated by smithy-go-codegen DO NOT EDIT.
     2  
     3  //go:build snapshot
     4  
     5  package ssooidc
     6  
     7  import (
     8  	"context"
     9  	"errors"
    10  	"fmt"
    11  	"github.com/aws/smithy-go/middleware"
    12  	"io"
    13  	"io/fs"
    14  	"os"
    15  	"testing"
    16  )
    17  
    18  const ssprefix = "snapshot"
    19  
    20  type snapshotOK struct{}
    21  
    22  func (snapshotOK) Error() string { return "error: success" }
    23  
    24  func createp(path string) (*os.File, error) {
    25  	if err := os.Mkdir(ssprefix, 0700); err != nil && !errors.Is(err, fs.ErrExist) {
    26  		return nil, err
    27  	}
    28  	return os.Create(path)
    29  }
    30  
    31  func sspath(op string) string {
    32  	return fmt.Sprintf("%s/api_op_%s.go.snap", ssprefix, op)
    33  }
    34  
    35  func updateSnapshot(stack *middleware.Stack, operation string) error {
    36  	f, err := createp(sspath(operation))
    37  	if err != nil {
    38  		return err
    39  	}
    40  	defer f.Close()
    41  	if _, err := f.Write([]byte(stack.String())); err != nil {
    42  		return err
    43  	}
    44  	return snapshotOK{}
    45  }
    46  
    47  func testSnapshot(stack *middleware.Stack, operation string) error {
    48  	f, err := os.Open(sspath(operation))
    49  	if errors.Is(err, fs.ErrNotExist) {
    50  		return snapshotOK{}
    51  	}
    52  	if err != nil {
    53  		return err
    54  	}
    55  	defer f.Close()
    56  	expected, err := io.ReadAll(f)
    57  	if err != nil {
    58  		return err
    59  	}
    60  	if actual := stack.String(); actual != string(expected) {
    61  		return fmt.Errorf("%s != %s", expected, actual)
    62  	}
    63  	return snapshotOK{}
    64  }
    65  func TestCheckSnapshot_CreateToken(t *testing.T) {
    66  	svc := New(Options{})
    67  	_, err := svc.CreateToken(context.Background(), nil, func(o *Options) {
    68  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
    69  			return testSnapshot(stack, "CreateToken")
    70  		})
    71  	})
    72  	if _, ok := err.(snapshotOK); !ok && err != nil {
    73  		t.Fatal(err)
    74  	}
    75  }
    76  
    77  func TestCheckSnapshot_CreateTokenWithIAM(t *testing.T) {
    78  	svc := New(Options{})
    79  	_, err := svc.CreateTokenWithIAM(context.Background(), nil, func(o *Options) {
    80  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
    81  			return testSnapshot(stack, "CreateTokenWithIAM")
    82  		})
    83  	})
    84  	if _, ok := err.(snapshotOK); !ok && err != nil {
    85  		t.Fatal(err)
    86  	}
    87  }
    88  
    89  func TestCheckSnapshot_RegisterClient(t *testing.T) {
    90  	svc := New(Options{})
    91  	_, err := svc.RegisterClient(context.Background(), nil, func(o *Options) {
    92  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
    93  			return testSnapshot(stack, "RegisterClient")
    94  		})
    95  	})
    96  	if _, ok := err.(snapshotOK); !ok && err != nil {
    97  		t.Fatal(err)
    98  	}
    99  }
   100  
   101  func TestCheckSnapshot_StartDeviceAuthorization(t *testing.T) {
   102  	svc := New(Options{})
   103  	_, err := svc.StartDeviceAuthorization(context.Background(), nil, func(o *Options) {
   104  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
   105  			return testSnapshot(stack, "StartDeviceAuthorization")
   106  		})
   107  	})
   108  	if _, ok := err.(snapshotOK); !ok && err != nil {
   109  		t.Fatal(err)
   110  	}
   111  }
   112  func TestUpdateSnapshot_CreateToken(t *testing.T) {
   113  	svc := New(Options{})
   114  	_, err := svc.CreateToken(context.Background(), nil, func(o *Options) {
   115  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
   116  			return updateSnapshot(stack, "CreateToken")
   117  		})
   118  	})
   119  	if _, ok := err.(snapshotOK); !ok && err != nil {
   120  		t.Fatal(err)
   121  	}
   122  }
   123  
   124  func TestUpdateSnapshot_CreateTokenWithIAM(t *testing.T) {
   125  	svc := New(Options{})
   126  	_, err := svc.CreateTokenWithIAM(context.Background(), nil, func(o *Options) {
   127  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
   128  			return updateSnapshot(stack, "CreateTokenWithIAM")
   129  		})
   130  	})
   131  	if _, ok := err.(snapshotOK); !ok && err != nil {
   132  		t.Fatal(err)
   133  	}
   134  }
   135  
   136  func TestUpdateSnapshot_RegisterClient(t *testing.T) {
   137  	svc := New(Options{})
   138  	_, err := svc.RegisterClient(context.Background(), nil, func(o *Options) {
   139  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
   140  			return updateSnapshot(stack, "RegisterClient")
   141  		})
   142  	})
   143  	if _, ok := err.(snapshotOK); !ok && err != nil {
   144  		t.Fatal(err)
   145  	}
   146  }
   147  
   148  func TestUpdateSnapshot_StartDeviceAuthorization(t *testing.T) {
   149  	svc := New(Options{})
   150  	_, err := svc.StartDeviceAuthorization(context.Background(), nil, func(o *Options) {
   151  		o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
   152  			return updateSnapshot(stack, "StartDeviceAuthorization")
   153  		})
   154  	})
   155  	if _, ok := err.(snapshotOK); !ok && err != nil {
   156  		t.Fatal(err)
   157  	}
   158  }
   159  

View as plain text