@@ -47,27 +47,66 @@ def bs_client_one_pcw_ignore(monkeypatch):
4747 monkeypatch .setattr (Azure , 'bs_client' , lambda * args , ** kwargs : fakeblobserviceclient )
4848
4949
50+ class FakeResourceGroup :
51+ def __init__ (self , name ):
52+ self .name = name
53+
54+
55+ class FakeGallery :
56+ def __init__ (self , name ):
57+ self .name = name
58+
59+
60+ class FakeImage :
61+ def __init__ (self , name ):
62+ self .name = name
63+
64+
65+ class FakeVersion :
66+ def __init__ (self , name ):
67+ self .name = name
68+
69+
5070@pytest .fixture
5171def mock_compute_mgmt_client (monkeypatch ):
52-
5372 global deleted_images
54- # to make sure that we not failing due to other test left dirty env.
5573 deleted_images = list ()
5674
57- def mock_compute_mgmt_client (self ):
58- def compute_mgmt_client ():
75+ def compute_mgmt_client (self ):
76+ def client ():
5977 pass
60- compute_mgmt_client .images = lambda : None
61- compute_mgmt_client .galleries = lambda : None
62- compute_mgmt_client .gallery_images = lambda : None
63- compute_mgmt_client .gallery_image_versions = lambda : None
64- compute_mgmt_client .galleries .get = lambda rg , name : FakeGalleryAndImageDefinition ()
65- compute_mgmt_client .gallery_images .list_by_gallery = lambda rg , name : [FakeGalleryAndImageDefinition ()]
66- compute_mgmt_client .gallery_image_versions .list_by_gallery_image = lambda rg , gallery , definitionname : [1 , 2 , 3 , 4 , 5 ]
67- compute_mgmt_client .images .begin_delete = lambda rg , name : deleted_images .append (name )
68- return compute_mgmt_client
78+ client .images = lambda : None
79+ client .galleries = lambda : None
80+ client .gallery_images = lambda : None
81+ client .gallery_image_versions = lambda : None
82+
83+ client .galleries .list_by_resource_group = lambda rg : [
84+ FakeGallery ("gallery1" ),
85+ FakeGallery ("gallery2" )
86+ ]
87+
88+ client .gallery_images .list_by_gallery = lambda rg , gallery : {
89+ "gallery1" : [FakeImage ("image1" )],
90+ "gallery2" : [FakeImage ("image2" )]
91+ }[gallery ]
92+
93+ client .gallery_image_versions .list_by_gallery_image = lambda rg , gallery , image : {
94+ ("rg1" , "gallery1" , "image1" ): [FakeVersion ("v1" ), FakeVersion ("v2" ), FakeVersion ("v3" )],
95+ ("rg1" , "gallery2" , "image2" ): [FakeVersion ("v1" ), FakeVersion ("v2" )]
96+ }[(rg , gallery , image )]
97+
98+ client .images .begin_delete = lambda rg , name : deleted_images .append (name )
99+ return client
100+
101+ def resource_mgmt_client (self ):
102+ def client ():
103+ pass
104+ client .resource_groups = lambda : None
105+ client .resource_groups .list = lambda : [FakeResourceGroup ("rg1" )]
106+ return client
69107
70- monkeypatch .setattr (Azure , 'compute_mgmt_client' , mock_compute_mgmt_client )
108+ monkeypatch .setattr (Azure , 'compute_mgmt_client' , compute_mgmt_client )
109+ monkeypatch .setattr (Azure , 'resource_mgmt_client' , resource_mgmt_client )
71110
72111
73112# This class is faking two unrelated entities:
0 commit comments