@@ -787,11 +787,19 @@ func TestGetMigTargetSize(t *testing.T) {
787
787
Zone : mig .GceRef ().Zone ,
788
788
Name : mig .GceRef ().Name ,
789
789
TargetSize : targetSize ,
790
+ SelfLink : fmt .Sprintf ("projects/%s/zones/%s/instanceGroups/%s" , mig .GceRef ().Project , mig .GceRef ().Zone , mig .GceRef ().Name ),
791
+ }
792
+ instanceGroupManager1 := & gce.InstanceGroupManager {
793
+ Zone : mig1 .GceRef ().Zone ,
794
+ Name : mig1 .GceRef ().Name ,
795
+ TargetSize : targetSize ,
796
+ SelfLink : fmt .Sprintf ("projects/%s/zones/%s/instanceGroups/%s" , mig1 .GceRef ().Project , mig1 .GceRef ().Zone , mig1 .GceRef ().Name ),
790
797
}
791
798
792
799
testCases := []struct {
793
800
name string
794
801
cache * GceCache
802
+ migQuery * gceMig
795
803
fetchMigs func (string ) ([]* gce.InstanceGroupManager , error )
796
804
fetchMigTargetSize func (GceRef ) (int64 , error )
797
805
expectedTargetSize int64
@@ -804,40 +812,53 @@ func TestGetMigTargetSize(t *testing.T) {
804
812
migTargetSizeCache : map [GceRef ]int64 {mig .GceRef (): targetSize },
805
813
},
806
814
expectedTargetSize : targetSize ,
815
+ migQuery : mig ,
807
816
},
808
817
{
809
818
name : "target size from cache fill" ,
810
819
cache : emptyCache (),
811
820
fetchMigs : fetchMigsConst ([]* gce.InstanceGroupManager {instanceGroupManager }),
812
821
expectedTargetSize : targetSize ,
822
+ migQuery : mig ,
823
+ },
824
+ {
825
+ name : "target size from cache fill, multiple MIG projects" ,
826
+ cache : emptyCache (),
827
+ fetchMigs : fetchMigsConst ([]* gce.InstanceGroupManager {instanceGroupManager , instanceGroupManager1 }),
828
+ expectedTargetSize : targetSize ,
829
+ migQuery : mig1 ,
813
830
},
814
831
{
815
832
name : "cache fill without mig, fallback success" ,
816
833
cache : emptyCache (),
817
834
fetchMigs : fetchMigsConst ([]* gce.InstanceGroupManager {}),
818
835
fetchMigTargetSize : fetchMigTargetSizeConst (targetSize ),
819
836
expectedTargetSize : targetSize ,
837
+ migQuery : mig ,
820
838
},
821
839
{
822
840
name : "cache fill failure, fallback success" ,
823
841
cache : emptyCache (),
824
842
fetchMigs : fetchMigsFail ,
825
843
fetchMigTargetSize : fetchMigTargetSizeConst (targetSize ),
826
844
expectedTargetSize : targetSize ,
845
+ migQuery : mig ,
827
846
},
828
847
{
829
848
name : "cache fill without mig, fallback failure" ,
830
849
cache : emptyCache (),
831
850
fetchMigs : fetchMigsConst ([]* gce.InstanceGroupManager {}),
832
851
fetchMigTargetSize : fetchMigTargetSizeFail ,
833
852
expectedErr : errFetchMigTargetSize ,
853
+ migQuery : mig ,
834
854
},
835
855
{
836
856
name : "cache fill failure, fallback failure" ,
837
857
cache : emptyCache (),
838
858
fetchMigs : fetchMigsFail ,
839
859
fetchMigTargetSize : fetchMigTargetSizeFail ,
840
860
expectedErr : errFetchMigTargetSize ,
861
+ migQuery : mig ,
841
862
},
842
863
}
843
864
@@ -850,8 +871,8 @@ func TestGetMigTargetSize(t *testing.T) {
850
871
migLister := NewMigLister (tc .cache )
851
872
provider := NewCachingMigInfoProvider (tc .cache , migLister , client , mig .GceRef ().Project , 1 , 0 * time .Second , false )
852
873
853
- targetSize , err := provider .GetMigTargetSize (mig .GceRef ())
854
- cachedTargetSize , found := tc .cache .GetMigTargetSize (mig .GceRef ())
874
+ targetSize , err := provider .GetMigTargetSize (tc . migQuery .GceRef ())
875
+ cachedTargetSize , found := tc .cache .GetMigTargetSize (tc . migQuery .GceRef ())
855
876
856
877
assert .Equal (t , tc .expectedErr , err )
857
878
assert .Equal (t , tc .expectedErr == nil , found )
@@ -1916,7 +1937,7 @@ func (f *fakeTime) Now() time.Time {
1916
1937
1917
1938
func emptyCache () * GceCache {
1918
1939
return & GceCache {
1919
- migs : map [GceRef ]Mig {mig .GceRef (): mig },
1940
+ migs : map [GceRef ]Mig {mig .GceRef (): mig , mig1 . GceRef (): mig1 },
1920
1941
instances : make (map [GceRef ][]GceInstance ),
1921
1942
instancesUpdateTime : make (map [GceRef ]time.Time ),
1922
1943
migTargetSizeCache : make (map [GceRef ]int64 ),
0 commit comments