Pass ProjectRouter to mocks

This commit is contained in:
Nick Sardo 2018-02-16 13:40:23 -08:00
parent 260327110f
commit 2410b6576e
5 changed files with 329 additions and 196 deletions

File diff suppressed because it is too large Load Diff

View File

@ -175,14 +175,14 @@ func (gce *GCE) {{.WrapType}}() {{.WrapType}} {
{{- end}}
// NewMockGCE returns a new mock for GCE.
func NewMockGCE() *MockGCE {
func NewMockGCE(projectRouter ProjectRouter) *MockGCE {
{{- range .Groups}}
mock{{.Service}}Objs := map[meta.Key]*Mock{{.Service}}Obj{}
{{- end}}
mock := &MockGCE{
{{- range .All}}
{{.MockField}}: New{{.MockWrapType}}(mock{{.Service}}Objs),
{{.MockField}}: New{{.MockWrapType}}(projectRouter, mock{{.Service}}Objs),
{{- end}}
}
return mock
@ -306,8 +306,10 @@ type {{.WrapType}} interface {
}
// New{{.MockWrapType}} returns a new mock for {{.Service}}.
func New{{.MockWrapType}}(objs map[meta.Key]*Mock{{.Service}}Obj) *{{.MockWrapType}} {
func New{{.MockWrapType}}(pr ProjectRouter, objs map[meta.Key]*Mock{{.Service}}Obj) *{{.MockWrapType}} {
mock := &{{.MockWrapType}}{
ProjectRouter: pr,
Objects: objs,
{{- if .GenerateGet}}
GetError: map[meta.Key]error{},
@ -326,6 +328,8 @@ func New{{.MockWrapType}}(objs map[meta.Key]*Mock{{.Service}}Obj) *{{.MockWrapTy
type {{.MockWrapType}} struct {
Lock sync.Mutex
ProjectRouter ProjectRouter
// Objects maintained by the mock.
Objects map[meta.Key]*Mock{{.Service}}Obj
@ -534,9 +538,8 @@ func (m *{{.MockWrapType}}) Insert(ctx context.Context, key *meta.Key, obj *{{.F
}
obj.Name = key.Name
if obj.SelfLink == "" {
obj.SelfLink = SelfLink(meta.Version{{.VersionTitle}}, "mock-project", "{{.Resource}}", key)
}
projectID := m.ProjectRouter.ProjectID(ctx, "{{.Version}}", "{{.Resource}}")
obj.SelfLink = SelfLink(meta.Version{{.VersionTitle}}, projectID, "{{.Resource}}", key)
m.Objects[*key] = &Mock{{.Service}}Obj{obj}
glog.V(5).Infof("{{.MockWrapType}}.Insert(%v, %v, %+v) = nil", ctx, key, obj)
@ -1036,7 +1039,8 @@ func Test{{.Service}}Group(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
{{- if .HasAlpha}}

View File

@ -38,7 +38,8 @@ func TestAddressesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.RegionalKey("key-alpha", "location")
@ -172,7 +173,8 @@ func TestBackendServicesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.GlobalKey("key-alpha")
@ -270,7 +272,8 @@ func TestDisksGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.ZonalKey("key-alpha", "location")
@ -368,7 +371,8 @@ func TestFirewallsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -430,7 +434,8 @@ func TestForwardingRulesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.RegionalKey("key-alpha", "location")
@ -528,7 +533,8 @@ func TestGlobalAddressesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -590,7 +596,8 @@ func TestGlobalForwardingRulesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -652,7 +659,8 @@ func TestHealthChecksGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.GlobalKey("key-alpha")
@ -750,7 +758,8 @@ func TestHttpHealthChecksGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -812,7 +821,8 @@ func TestHttpsHealthChecksGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -874,7 +884,8 @@ func TestInstanceGroupsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.ZonalKey("key-ga", "location")
@ -936,7 +947,8 @@ func TestInstancesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.ZonalKey("key-alpha", "location")
@ -1070,7 +1082,8 @@ func TestNetworkEndpointGroupsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.ZonalKey("key-alpha", "location")
@ -1132,7 +1145,8 @@ func TestProjectsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1162,7 +1176,8 @@ func TestRegionBackendServicesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.RegionalKey("key-alpha", "location")
@ -1260,7 +1275,8 @@ func TestRegionDisksGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyAlpha := meta.RegionalKey("key-alpha", "location")
@ -1322,7 +1338,8 @@ func TestRegionsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1369,7 +1386,8 @@ func TestRoutesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1431,7 +1449,8 @@ func TestSslCertificatesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1493,7 +1512,8 @@ func TestTargetHttpProxiesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1555,7 +1575,8 @@ func TestTargetHttpsProxiesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1617,7 +1638,8 @@ func TestTargetPoolsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.RegionalKey("key-ga", "location")
@ -1679,7 +1701,8 @@ func TestUrlMapsGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")
@ -1741,7 +1764,8 @@ func TestZonesGroup(t *testing.T) {
t.Parallel()
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
var key *meta.Key
keyGA := meta.GlobalKey("key-ga")

View File

@ -37,7 +37,8 @@ func TestMocks(t *testing.T) {
const region = "us-central1"
ctx := context.Background()
mock := NewMockGCE()
pr := &SingleProjectRouter{"mock-project"}
mock := NewMockGCE(pr)
keyAlpha := meta.RegionalKey("key-alpha", region)
keyBeta := meta.RegionalKey("key-beta", region)

View File

@ -281,23 +281,25 @@ func fakeGCECloud() (*GCECloud, error) {
return nil, err
}
cloud := cloud.NewMockGCE()
cloud.MockTargetPools.AddInstanceHook = mock.AddInstanceHook
cloud.MockTargetPools.RemoveInstanceHook = mock.RemoveInstanceHook
gce := GCECloud{
gce := &GCECloud{
region: gceRegion,
service: service,
manager: fakeManager,
managedZones: []string{zoneName},
projectID: gceProjectId,
networkProjectID: gceProjectId,
AlphaFeatureGate: alphaFeatureGate,
nodeZones: zonesWithNodes,
nodeInformerSynced: func() bool { return true },
c: cloud,
}
return &gce, nil
cloud := cloud.NewMockGCE(&gceProjectRouter{gce})
cloud.MockTargetPools.AddInstanceHook = mock.AddInstanceHook
cloud.MockTargetPools.RemoveInstanceHook = mock.RemoveInstanceHook
gce.c = cloud
return gce, nil
}
func createAndInsertNodes(gce *GCECloud, nodeNames []string) ([]*v1.Node, error) {