3131@mock_s3
3232class MavenDeleteTest (PackageBaseTest ):
3333 def test_maven_deletion (self ):
34- self .__prepare_content ()
35-
36- test_zip = os .path .join (os .getcwd (), "tests/input/commons-client-4.5.6.zip" )
37- product_456 = "commons-client-4.5.6"
38- handle_maven_del (
39- test_zip , product_456 ,
40- bucket_name = TEST_BUCKET , dir_ = self .tempdir ,
41- do_index = False
42- )
43-
44- test_bucket = self .mock_s3 .Bucket (TEST_BUCKET )
45- objs = list (test_bucket .objects .all ())
46- actual_files = [obj .key for obj in objs ]
47- self .assertEqual (
48- COMMONS_CLIENT_459_MVN_NUM * 2 + COMMONS_CLIENT_META_NUM ,
49- len (actual_files )
50- )
51-
52- for f in COMMONS_CLIENT_456_FILES :
53- self .assertNotIn (f , actual_files )
54-
55- file_set = [
56- * COMMONS_CLIENT_METAS , * ARCHETYPE_CATALOG_FILES ,
57- * COMMONS_LOGGING_FILES , * COMMONS_LOGGING_METAS
58- ]
34+ self .__test_prefix_deletion ("" )
5935
60- for f in file_set :
61- self .assertIn (f , actual_files )
62-
63- for obj in objs :
64- if not obj .key .endswith (PROD_INFO_SUFFIX ):
65- self .assertIn (CHECKSUM_META_KEY , obj .Object ().metadata )
66- self .assertNotEqual ("" , obj .Object ().metadata [CHECKSUM_META_KEY ].strip ())
67-
68- product_459 = "commons-client-4.5.9"
69- meta_obj_client = test_bucket .Object (COMMONS_CLIENT_METAS [0 ])
70- meta_content_client = str (meta_obj_client .get ()["Body" ].read (), "utf-8" )
71- self .assertIn (
72- "<groupId>org.apache.httpcomponents</groupId>" , meta_content_client
73- )
74- self .assertIn ("<artifactId>httpclient</artifactId>" , meta_content_client )
75- self .assertNotIn ("<version>4.5.6</version>" , meta_content_client )
76- self .assertNotIn ("<latest>4.5.6</latest>" , meta_content_client )
77- self .assertNotIn ("<release>4.5.6</release>" , meta_content_client )
78- self .assertIn ("<latest>4.5.9</latest>" , meta_content_client )
79- self .assertIn ("<release>4.5.9</release>" , meta_content_client )
80- self .assertIn ("<version>4.5.9</version>" , meta_content_client )
81-
82- meta_obj_cat = test_bucket .Object (ARCHETYPE_CATALOG )
83- meta_content_cat = str (meta_obj_cat .get ()["Body" ].read (), "utf-8" )
84- self .assertIn (
85- "<groupId>org.apache.httpcomponents</groupId>" , meta_content_cat
86- )
87- self .assertIn ("<artifactId>httpclient</artifactId>" , meta_content_cat )
88- self .assertNotIn ("<version>4.5.6</version>" , meta_content_cat )
89-
90- meta_obj_logging = test_bucket .Object (COMMONS_LOGGING_METAS [0 ])
91- self .assertNotIn (PRODUCT_META_KEY , meta_obj_logging .metadata )
92- meta_content_logging = str (meta_obj_logging .get ()["Body" ].read (), "utf-8" )
93- self .assertIn ("<groupId>commons-logging</groupId>" , meta_content_logging )
94- self .assertIn ("<artifactId>commons-logging</artifactId>" , meta_content_logging )
95- self .assertIn ("<version>1.2</version>" , meta_content_logging )
96- self .assertIn ("<latest>1.2</latest>" , meta_content_logging )
97- self .assertIn ("<release>1.2</release>" , meta_content_logging )
36+ def test_short_prefix_deletion (self ):
37+ self .__test_prefix_deletion (SHORT_TEST_PREFIX )
9838
99- test_zip = os .path .join (os .getcwd (), "tests/input/commons-client-4.5.9.zip" )
100- handle_maven_del (
101- test_zip , product_459 ,
102- bucket_name = TEST_BUCKET , dir_ = self .tempdir ,
103- do_index = False
104- )
39+ def test_long_prefix_deletion (self ):
40+ self .__test_prefix_deletion (LONG_TEST_PREFIX )
10541
106- objs = list ( test_bucket . objects . all ())
107- self .assertEqual ( 0 , len ( objs ) )
42+ def test_root_prefix_deletion ( self ):
43+ self .__test_prefix_deletion ( "/" )
10844
10945 def test_ignore_del (self ):
11046 self .__prepare_content ()
@@ -159,15 +95,6 @@ def test_ignore_del(self):
15995 for f in non_sha1_files :
16096 self .assertNotIn (f , actual_files )
16197
162- def test_short_prefix_deletion (self ):
163- self .__test_prefix_deletion (SHORT_TEST_PREFIX )
164-
165- def test_long_prefix_deletion (self ):
166- self .__test_prefix_deletion (LONG_TEST_PREFIX )
167-
168- def test_root_prefix_deletion (self ):
169- self .__test_prefix_deletion ("/" )
170-
17198 def __test_prefix_deletion (self , prefix : str ):
17299 self .__prepare_content (prefix )
173100
@@ -183,6 +110,7 @@ def __test_prefix_deletion(self, prefix: str):
183110 test_bucket = self .mock_s3 .Bucket (TEST_BUCKET )
184111 objs = list (test_bucket .objects .all ())
185112 actual_files = [obj .key for obj in objs ]
113+ # need to double mvn num because of .prodinfo files
186114 self .assertEqual (
187115 COMMONS_CLIENT_459_MVN_NUM * 2 + COMMONS_CLIENT_META_NUM ,
188116 len (actual_files )
@@ -193,18 +121,20 @@ def __test_prefix_deletion(self, prefix: str):
193121 os .path .join (prefix_ , f ) for f in COMMONS_CLIENT_456_FILES ]
194122 for f in PREFIXED_COMMONS_CLIENT_456_FILES :
195123 self .assertNotIn (f , actual_files )
124+
196125 PREFIXED_COMMONS_CLIENT_METAS = [
197126 os .path .join (prefix_ , f ) for f in COMMONS_CLIENT_METAS ]
198- for f in PREFIXED_COMMONS_CLIENT_METAS :
199- self .assertIn (f , actual_files )
200-
201127 PREFIXED_COMMONS_LOGGING_FILES = [
202128 os .path .join (prefix_ , f ) for f in COMMONS_LOGGING_FILES ]
203- for f in PREFIXED_COMMONS_LOGGING_FILES :
204- self .assertIn (f , actual_files )
205129 PREFIXED_COMMONS_LOGGING_METAS = [
206130 os .path .join (prefix_ , f ) for f in COMMONS_LOGGING_METAS ]
207- for f in PREFIXED_COMMONS_LOGGING_METAS :
131+ PREFIXED_ARCHE_CATALOG_FILES = [
132+ os .path .join (prefix_ , f ) for f in ARCHETYPE_CATALOG_FILES ]
133+ file_set = [
134+ * PREFIXED_COMMONS_CLIENT_METAS , * PREFIXED_ARCHE_CATALOG_FILES ,
135+ * PREFIXED_COMMONS_LOGGING_FILES , * PREFIXED_COMMONS_LOGGING_METAS
136+ ]
137+ for f in file_set :
208138 self .assertIn (f , actual_files )
209139
210140 for obj in objs :
@@ -214,10 +144,35 @@ def __test_prefix_deletion(self, prefix: str):
214144
215145 product_459 = "commons-client-4.5.9"
216146 meta_obj_client = test_bucket .Object (PREFIXED_COMMONS_CLIENT_METAS [0 ])
217- self .assertNotIn (PRODUCT_META_KEY , meta_obj_client .metadata )
147+ meta_content_client = str (meta_obj_client .get ()["Body" ].read (), "utf-8" )
148+ self .assertIn (
149+ "<groupId>org.apache.httpcomponents</groupId>" , meta_content_client
150+ )
151+ self .assertIn ("<artifactId>httpclient</artifactId>" , meta_content_client )
152+ self .assertNotIn ("<version>4.5.6</version>" , meta_content_client )
153+ self .assertNotIn ("<latest>4.5.6</latest>" , meta_content_client )
154+ self .assertNotIn ("<release>4.5.6</release>" , meta_content_client )
155+ self .assertIn ("<latest>4.5.9</latest>" , meta_content_client )
156+ self .assertIn ("<release>4.5.9</release>" , meta_content_client )
157+ self .assertIn ("<version>4.5.9</version>" , meta_content_client )
158+
159+ PREFIXED_ARCHE_CATALOG = os .path .join (prefix_ , ARCHETYPE_CATALOG )
160+ meta_obj_cat = test_bucket .Object (PREFIXED_ARCHE_CATALOG )
161+ meta_content_cat = str (meta_obj_cat .get ()["Body" ].read (), "utf-8" )
162+ self .assertIn (
163+ "<groupId>org.apache.httpcomponents</groupId>" , meta_content_cat
164+ )
165+ self .assertIn ("<artifactId>httpclient</artifactId>" , meta_content_cat )
166+ self .assertNotIn ("<version>4.5.6</version>" , meta_content_cat )
218167
219168 meta_obj_logging = test_bucket .Object (PREFIXED_COMMONS_LOGGING_METAS [0 ])
220169 self .assertNotIn (PRODUCT_META_KEY , meta_obj_logging .metadata )
170+ meta_content_logging = str (meta_obj_logging .get ()["Body" ].read (), "utf-8" )
171+ self .assertIn ("<groupId>commons-logging</groupId>" , meta_content_logging )
172+ self .assertIn ("<artifactId>commons-logging</artifactId>" , meta_content_logging )
173+ self .assertIn ("<version>1.2</version>" , meta_content_logging )
174+ self .assertIn ("<latest>1.2</latest>" , meta_content_logging )
175+ self .assertIn ("<release>1.2</release>" , meta_content_logging )
221176
222177 test_zip = os .path .join (os .getcwd (), "tests/input/commons-client-4.5.9.zip" )
223178 handle_maven_del (
0 commit comments