From e8250336a23688f78f496c7831ff8d7aa2636535 Mon Sep 17 00:00:00 2001 From: Joe Fitzgerald Date: Sun, 7 Jul 2019 22:19:38 -0600 Subject: [PATCH] add integration test, commit new fake --- .../fake_inline_struct_params.go | 151 ++++++++++++++++++ fixtures/inline_struct_params.go | 3 +- integration/roundtrip_test.go | 1 + 3 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 fixtures/fixturesfakes/fake_inline_struct_params.go diff --git a/fixtures/fixturesfakes/fake_inline_struct_params.go b/fixtures/fixturesfakes/fake_inline_struct_params.go new file mode 100644 index 0000000..dd383df --- /dev/null +++ b/fixtures/fixturesfakes/fake_inline_struct_params.go @@ -0,0 +1,151 @@ +// Code generated by counterfeiter. DO NOT EDIT. +package fixturesfakes + +import ( + "context" + "net/http" + "sync" + "time" + + "github.com/maxbrunsfeld/counterfeiter/v6/fixtures" +) + +type FakeInlineStructParams struct { + DoSomethingStub func(context.Context, struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request + }) error + doSomethingMutex sync.RWMutex + doSomethingArgsForCall []struct { + arg1 context.Context + arg2 struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request + } + } + doSomethingReturns struct { + result1 error + } + doSomethingReturnsOnCall map[int]struct { + result1 error + } + invocations map[string][][]interface{} + invocationsMutex sync.RWMutex +} + +func (fake *FakeInlineStructParams) DoSomething(arg1 context.Context, arg2 struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request +}) error { + fake.doSomethingMutex.Lock() + ret, specificReturn := fake.doSomethingReturnsOnCall[len(fake.doSomethingArgsForCall)] + fake.doSomethingArgsForCall = append(fake.doSomethingArgsForCall, struct { + arg1 context.Context + arg2 struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request + } + }{arg1, arg2}) + fake.recordInvocation("DoSomething", []interface{}{arg1, arg2}) + fake.doSomethingMutex.Unlock() + if fake.DoSomethingStub != nil { + return fake.DoSomethingStub(arg1, arg2) + } + if specificReturn { + return ret.result1 + } + fakeReturns := fake.doSomethingReturns + return fakeReturns.result1 +} + +func (fake *FakeInlineStructParams) DoSomethingCallCount() int { + fake.doSomethingMutex.RLock() + defer fake.doSomethingMutex.RUnlock() + return len(fake.doSomethingArgsForCall) +} + +func (fake *FakeInlineStructParams) DoSomethingCalls(stub func(context.Context, struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request +}) error) { + fake.doSomethingMutex.Lock() + defer fake.doSomethingMutex.Unlock() + fake.DoSomethingStub = stub +} + +func (fake *FakeInlineStructParams) DoSomethingArgsForCall(i int) (context.Context, struct { + SomeString string + SomeStringPointer *string + SomeTime time.Time + SomeTimePointer *time.Time + HTTPRequest http.Request +}) { + fake.doSomethingMutex.RLock() + defer fake.doSomethingMutex.RUnlock() + argsForCall := fake.doSomethingArgsForCall[i] + return argsForCall.arg1, argsForCall.arg2 +} + +func (fake *FakeInlineStructParams) DoSomethingReturns(result1 error) { + fake.doSomethingMutex.Lock() + defer fake.doSomethingMutex.Unlock() + fake.DoSomethingStub = nil + fake.doSomethingReturns = struct { + result1 error + }{result1} +} + +func (fake *FakeInlineStructParams) DoSomethingReturnsOnCall(i int, result1 error) { + fake.doSomethingMutex.Lock() + defer fake.doSomethingMutex.Unlock() + fake.DoSomethingStub = nil + if fake.doSomethingReturnsOnCall == nil { + fake.doSomethingReturnsOnCall = make(map[int]struct { + result1 error + }) + } + fake.doSomethingReturnsOnCall[i] = struct { + result1 error + }{result1} +} + +func (fake *FakeInlineStructParams) Invocations() map[string][][]interface{} { + fake.invocationsMutex.RLock() + defer fake.invocationsMutex.RUnlock() + fake.doSomethingMutex.RLock() + defer fake.doSomethingMutex.RUnlock() + copiedInvocations := map[string][][]interface{}{} + for key, value := range fake.invocations { + copiedInvocations[key] = value + } + return copiedInvocations +} + +func (fake *FakeInlineStructParams) recordInvocation(key string, args []interface{}) { + fake.invocationsMutex.Lock() + defer fake.invocationsMutex.Unlock() + if fake.invocations == nil { + fake.invocations = map[string][][]interface{}{} + } + if fake.invocations[key] == nil { + fake.invocations[key] = [][]interface{}{} + } + fake.invocations[key] = append(fake.invocations[key], args) +} + +var _ fixtures.InlineStructParams = new(FakeInlineStructParams) diff --git a/fixtures/inline_struct_params.go b/fixtures/inline_struct_params.go index 7c8f117..395a8b7 100644 --- a/fixtures/inline_struct_params.go +++ b/fixtures/inline_struct_params.go @@ -6,7 +6,8 @@ import ( "time" ) -type InlineInterface interface { +//counterfeiter:generate . InlineStructParams +type InlineStructParams interface { DoSomething(ctx context.Context, body struct { SomeString string SomeStringPointer *string diff --git a/integration/roundtrip_test.go b/integration/roundtrip_test.go index 1135f36..847dbfe 100644 --- a/integration/roundtrip_test.go +++ b/integration/roundtrip_test.go @@ -192,6 +192,7 @@ func runTests(useGopath bool, t *testing.T, when spec.G, it spec.S) { t("ImportsGoHyphenPackage", "imports_go_hyphen_package.go", "", filepath.Join("go-hyphenpackage", "fixture.go")) t("FirstInterface", "multiple_interfaces.go", "") t("SecondInterface", "multiple_interfaces.go", "") + t("InlineStructParams", "inline_struct_params.go", "") t("RequestFactory", "request_factory.go", "") t("ReusesArgTypes", "reuses_arg_types.go", "") t("SomethingWithForeignInterface", "something_remote.go", "", filepath.Join("aliased_package", "in_aliased_package.go"))