@@ -144,3 +144,54 @@ def test_handle_npm_uploading_for_new_version(self):
144144 self .assertIn ("1.0.1" , merged .keywords )
145145 self .assertEqual ("1.0.1bugs" , merged .bugs )
146146 self .assertEqual ("Apache-2.0.1" , merged .license )
147+
148+ def test_handle_npm_meta_wrong_dist_tags (self ):
149+ bucket = self .mock_s3 .Bucket (MY_BUCKET )
150+ original_version_0_5_8_package_json = """
151+ {"name": "@redhat/kogito-tooling-workspace",
152+ "dist_tags": {"latest": "0.5.8"},"versions": {"0.5.8": {"name":
153+ "@redhat/kogito-tooling-workspace", "version": "0.5.8", "title": "0.5.8title",
154+ "description": "0.5.8description", "keywords": ["0.5.8"], "maintainers": [
155+ "0.5.8maintainer"], "repository": {"type": "git", "url": "https://github.com/0.5.8.git"},
156+ "bugs": "0.5.8bugs", "license": "Apache-2.0.1", "dependencies": {
157+ "@redhat/kogito-tooling-channel-common-api": "^0.5.8"}}}, "maintainers": [
158+ "0.5.8maintainer"], "description": "0.5.8 description", "time": {}, "author":
159+ "0.5.8author", "users": {"0.5.8users": true}, "repository": {"type": "git",
160+ "url": "https://github.com/0.5.8.git"}, "readme": "0.5.8readme", "readmeFilename":
161+ "0.5.8readmeFilename", "homepage": "0.5.8homepage", "keywords": ["0.5.8"],
162+ "bugs": "0.5.8bugs", "license": "Apache-2.0.1"}"""
163+
164+ bucket .put_object (
165+ Key = '@redhat/kogito-tooling-workspace/package.json' ,
166+ Body = str (original_version_0_5_8_package_json )
167+ )
168+ tarball_test_path = os .path .join (INPUTS , 'kogito-tooling-workspace-0.9.0-3.tgz' )
169+ handle_npm_uploading (
170+ tarball_test_path , "kogito-tooling-workspace-0.9.0-3" ,
171+ buckets = [('' , MY_BUCKET , '' , DEFAULT_REGISTRY )],
172+ dir_ = self .tempdir
173+ )
174+ (files , _ ) = self .s3_client .get_files (
175+ bucket_name = MY_BUCKET ,
176+ prefix = '@redhat/kogito-tooling-workspace/package.json'
177+ )
178+ self .assertEqual (1 , len (files ))
179+ self .assertIn ('@redhat/kogito-tooling-workspace/package.json' , files )
180+
181+ content = self .s3_client .read_file_content (
182+ MY_BUCKET ,
183+ '@redhat/kogito-tooling-workspace/package.json'
184+ )
185+ merged = read_package_metadata_from_content (content , False )
186+ self .assertEqual ("@redhat/kogito-tooling-workspace" , merged .name )
187+ self .assertEqual (2 , len (merged .versions ))
188+ self .assertIn ("0.5.8" , list (merged .versions .keys ()))
189+ self .assertIn ("0.9.0-3" , list (merged .versions .keys ()))
190+ self .assertEqual ("0.9.0-3" , merged .dist_tags ["latest" ])
191+ self .assertIn ("0.5.8maintainer" , merged .maintainers )
192+ self .assertIn ("0.5.8users" , merged .users .keys ())
193+ self .assertEqual ("https://github.com/kiegroup/kogito-tooling.git" , merged .repository ["url" ])
194+ self .assertEqual ("0.5.8homepage" , merged .homepage )
195+ self .assertIn ("0.5.8" , merged .keywords )
196+ self .assertEqual ("0.5.8bugs" , merged .bugs )
197+ self .assertEqual ("Apache-2.0" , merged .license )
0 commit comments