@@ -169,6 +169,17 @@ def test_project_by_id(self):
169
169
}
170
170
}
171
171
})
172
+ release ["_embedded" ]["sw360:attachments" ].append ({
173
+ "filename" : "clipython-1.3.0.docx" ,
174
+ "sha1" : "f0d8f2ddd017bdeaecbaec72ff76a6c0a045ec66" ,
175
+ "attachmentType" : "CLEARING_REPORT" ,
176
+ "_links" : {
177
+ "self" : {
178
+ "href" : "https://my.server.com/resource/api/attachments/r002a003"
179
+ }
180
+ }
181
+ })
182
+
172
183
responses .add (
173
184
responses .GET ,
174
185
url = self .MYURL + "resource/api/releases/r002" ,
@@ -182,21 +193,39 @@ def test_project_by_id(self):
182
193
cx_comp = cdx_bom .components [0 ]
183
194
self .assertEqual (cx_comp .purl , release ["externalIds" ]["package-url" ])
184
195
185
- ext_refs_src_url = [e for e in cx_comp .external_references if e .comment == CaPyCliBom .SOURCE_URL_COMMENT ]
186
- self .assertEqual (len (ext_refs_src_url ), 1 )
187
- self .assertEqual (ext_refs_src_url [0 ].url , release ["sourceCodeDownloadurl" ])
188
- self .assertEqual (ext_refs_src_url [0 ].type , ExternalReferenceType .DISTRIBUTION )
189
-
190
- ext_refs_src_file = [e for e in cx_comp .external_references if e .comment == CaPyCliBom .SOURCE_FILE_COMMENT ]
191
- self .assertEqual (len (ext_refs_src_file ), 2 )
192
- self .assertEqual (ext_refs_src_file [0 ].url , release ["_embedded" ]["sw360:attachments" ][0 ]["filename" ])
193
- self .assertEqual (ext_refs_src_file [0 ].type , ExternalReferenceType .DISTRIBUTION )
194
- self .assertEqual (ext_refs_src_file [0 ].hashes [0 ].alg , "SHA-1" )
195
- self .assertEqual (ext_refs_src_file [0 ].hashes [0 ].content , release ["_embedded" ]["sw360:attachments" ][0 ]["sha1" ])
196
-
197
- ext_refs_vcs = [e for e in cx_comp .external_references if e .type == ExternalReferenceType .VCS ]
198
- self .assertEqual (len (ext_refs_vcs ), 1 )
199
- self .assertEqual (ext_refs_vcs [0 ].url , release ["repository" ]["url" ])
196
+ ext_refs = [e for e in cx_comp .external_references if e .comment == CaPyCliBom .SOURCE_URL_COMMENT ]
197
+ self .assertEqual (len (ext_refs ), 1 )
198
+ self .assertEqual (ext_refs [0 ].url , release ["sourceCodeDownloadurl" ])
199
+ self .assertEqual (ext_refs [0 ].type , ExternalReferenceType .DISTRIBUTION )
200
+
201
+ ext_refs = [e for e in cx_comp .external_references if e .comment == CaPyCliBom .SOURCE_FILE_COMMENT ]
202
+ self .assertEqual (len (ext_refs ), 2 )
203
+ self .assertEqual (ext_refs [0 ].url , release ["_embedded" ]["sw360:attachments" ][0 ]["filename" ])
204
+ self .assertEqual (ext_refs [0 ].type , ExternalReferenceType .DISTRIBUTION )
205
+ self .assertEqual (ext_refs [0 ].hashes [0 ].alg , "SHA-1" )
206
+ self .assertEqual (ext_refs [0 ].hashes [0 ].content , release ["_embedded" ]["sw360:attachments" ][0 ]["sha1" ])
207
+
208
+ ext_refs = [e for e in cx_comp .external_references
209
+ if e .comment and e .comment .startswith (CaPyCliBom .CLI_FILE_COMMENT )]
210
+ self .assertEqual (len (ext_refs ), 1 )
211
+ self .assertEqual (ext_refs [0 ].url , release ["_embedded" ]["sw360:attachments" ][1 ]["filename" ])
212
+ self .assertEqual (ext_refs [0 ].type , ExternalReferenceType .OTHER )
213
+ self .assertEqual (ext_refs [0 ].comment , CaPyCliBom .CLI_FILE_COMMENT + ", sw360Id: r002a002" )
214
+ self .assertEqual (ext_refs [0 ].hashes [0 ].alg , "SHA-1" )
215
+ self .assertEqual (ext_refs [0 ].hashes [0 ].content , release ["_embedded" ]["sw360:attachments" ][1 ]["sha1" ])
216
+
217
+ ext_refs = [e for e in cx_comp .external_references
218
+ if e .comment and e .comment .startswith (CaPyCliBom .CRT_FILE_COMMENT )]
219
+ self .assertEqual (len (ext_refs ), 1 )
220
+ self .assertEqual (ext_refs [0 ].url , release ["_embedded" ]["sw360:attachments" ][3 ]["filename" ])
221
+ self .assertEqual (ext_refs [0 ].comment , CaPyCliBom .CRT_FILE_COMMENT + ", sw360Id: r002a003" )
222
+ self .assertEqual (ext_refs [0 ].type , ExternalReferenceType .OTHER )
223
+ self .assertEqual (ext_refs [0 ].hashes [0 ].alg , "SHA-1" )
224
+ self .assertEqual (ext_refs [0 ].hashes [0 ].content , release ["_embedded" ]["sw360:attachments" ][3 ]["sha1" ])
225
+
226
+ ext_refs = [e for e in cx_comp .external_references if e .type == ExternalReferenceType .VCS ]
227
+ self .assertEqual (len (ext_refs ), 1 )
228
+ self .assertEqual (ext_refs [0 ].url , release ["repository" ]["url" ])
200
229
201
230
self .assertEqual (cdx_bom .metadata .component .name , project ["name" ])
202
231
self .assertEqual (cdx_bom .metadata .component .version , project ["version" ])
0 commit comments