...

Source file src/github.com/aws/smithy-go/middleware/stack_test.go

Documentation: github.com/aws/smithy-go/middleware

     1  package middleware
     2  
     3  import (
     4  	"reflect"
     5  	"strings"
     6  	"testing"
     7  )
     8  
     9  func TestStackList(t *testing.T) {
    10  	s := NewStack("fooStack", func() interface{} { return struct{}{} })
    11  
    12  	s.Initialize.Add(mockInitializeMiddleware("first"), After)
    13  	s.Serialize.Add(mockSerializeMiddleware("second"), After)
    14  	s.Build.Add(mockBuildMiddleware("third"), After)
    15  	s.Finalize.Add(mockFinalizeMiddleware("fourth"), After)
    16  	s.Deserialize.Add(mockDeserializeMiddleware("fifth"), After)
    17  
    18  	actual := s.List()
    19  
    20  	expect := []string{
    21  		"fooStack",
    22  		(*InitializeStep)(nil).ID(),
    23  		"first",
    24  		(*SerializeStep)(nil).ID(),
    25  		"second",
    26  		(*BuildStep)(nil).ID(),
    27  		"third",
    28  		(*FinalizeStep)(nil).ID(),
    29  		"fourth",
    30  		(*DeserializeStep)(nil).ID(),
    31  		"fifth",
    32  	}
    33  
    34  	if !reflect.DeepEqual(expect, actual) {
    35  		t.Errorf("expect and actual stack list differ: %v != %v", expect, actual)
    36  	}
    37  }
    38  
    39  func TestStackString(t *testing.T) {
    40  	s := NewStack("fooStack", func() interface{} { return struct{}{} })
    41  
    42  	s.Initialize.Add(mockInitializeMiddleware("first"), After)
    43  	s.Serialize.Add(mockSerializeMiddleware("second"), After)
    44  	s.Build.Add(mockBuildMiddleware("third"), After)
    45  	s.Finalize.Add(mockFinalizeMiddleware("fourth"), After)
    46  	s.Deserialize.Add(mockDeserializeMiddleware("fifth"), After)
    47  
    48  	actual := s.String()
    49  
    50  	expect := strings.Join([]string{
    51  		"fooStack",
    52  		"\t" + (*InitializeStep)(nil).ID(),
    53  		"\t\t" + "first",
    54  		"\t" + (*SerializeStep)(nil).ID(),
    55  		"\t\t" + "second",
    56  		"\t" + (*BuildStep)(nil).ID(),
    57  		"\t\t" + "third",
    58  		"\t" + (*FinalizeStep)(nil).ID(),
    59  		"\t\t" + "fourth",
    60  		"\t" + (*DeserializeStep)(nil).ID(),
    61  		"\t\t" + "fifth",
    62  		"",
    63  	}, "\n")
    64  
    65  	if !reflect.DeepEqual(expect, actual) {
    66  		t.Errorf("expect and actual stack list differ: %v != %v", expect, actual)
    67  	}
    68  }
    69  

View as plain text