def test_sample_data_validation(self): """Confirm that the sample data validates""" for artifact in self.artifact_data: rs = TreeherderArtifact(artifact) rs.validate()
def test_artifact_collection(self): """Confirm the collection matches the sample data""" tac = TreeherderArtifactCollection() for artifact in self.artifact_data: ta = TreeherderArtifact(artifact) tac.add(ta) self.assertTrue(len(self.artifact_data) == len(tac.data))
def test_chunk_endpoint_base(self): """Confirm the endpoint_base of the chunks is the same as the original""" tac = TreeherderArtifactCollection() for artifact in self.artifact_data: ta = TreeherderArtifact(artifact) tac.add(ta) for chunk in tac.get_chunks(3): assert tac.endpoint_base == chunk.endpoint_base
def test_artifact_sample_data(self): """Test all add methods for building an artifact""" tac = TreeherderArtifactCollection() for artifact in self.artifact_data: ta = TreeherderArtifact() ta.add_blob(artifact['blob']) ta.add_job_guid(artifact['job_guid']) ta.add_name(artifact['name']) ta.add_type(artifact['type']) self.compare_structs(ta.data, artifact) tac.add(ta) # confirm we get the same thing if we initialize from # a resultset dict ta_struct = TreeherderArtifact(artifact) self.compare_structs(ta_struct.data, artifact)
def test_collection_chunking(self): tac = TreeherderArtifactCollection() for artifact in self.artifact_data: ta = TreeherderArtifact(artifact) tac.add(ta) # reconstruct the chunks and make sure we have the same data rebuilt_data = [] chunk_num = 0 for chunk in tac.get_chunks(3): chunk_data = chunk.get_collection_data() rebuilt_data.extend(chunk_data) chunk_num += 1 # the last one should be the "remainder" in an uneven size if chunk_num == 4: assert len(chunk_data) == 1 else: assert len(chunk_data) == 3 assert rebuilt_data == tac.get_collection_data()