예제 #1
0
 def test_post_metadata(self):
     """Test sucking metadata from uploader and configuring it in a dictionary suitable to blob to meta ingest."""
     tar = open_tar('test_data/good.tar')
     meta = MetaParser()
     meta.load_meta(tar, 1)
     success, exception = meta.post_metadata()
     self.assertTrue(success)
     self.assertFalse(exception)
     tar = open_tar('test_data/bad-mimetype.tar')
     meta = MetaParser()
     meta.load_meta(tar, 2)
     success, exception = meta.post_metadata()
     self.assertFalse(success)
     self.assertTrue(exception)
예제 #2
0
    def test_load_meta(self):
        """Test sucking metadata from uploader and configuring it in a dictionary suitable to blob to meta ingest."""
        tar = open_tar('test_data/good.tar')

        meta = MetaParser()
        meta.load_meta(tar, 1)
        self.assertTrue(meta)
예제 #3
0
def ingest_metadata_parser(job_id, tar):
    """Ingest the metadata and set the state appropriately."""
    update_state(job_id, 'OK', 'load metadata', 0)
    meta = MetaParser()
    try:
        meta.load_meta(tar, job_id)
    # pylint: disable=broad-except
    except Exception as ex:
        update_state(job_id, 'FAILED', 'load metadata', 0, str(ex))
        raise IngestException()
    update_state(job_id, 'OK', 'load metadata', 100)
    return meta
예제 #4
0
    def test_down_metadata(self):
        """Test a failed upload of the metadata."""
        tar = open_tar('test_data/good.tar')
        meta = MetaParser()

        def bad_put(*args, **kwargs):  # pylint: disable=unused-argument
            """bad put to the metadata server."""
            raise requests.HTTPError()
        meta.session.put = bad_put
        meta.load_meta(tar, 1)
        success, exception = meta.post_metadata()
        self.assertFalse(success)
        self.assertTrue(exception)
예제 #5
0
    def test_ingest_tar(self):
        """Test moving individual files to the archive files are validated inline with the upload."""
        tar = open_tar('test_data/good.tar')
        meta = MetaParser()
        meta.load_meta(tar, 1)

        tingest = TarIngester(tar, meta)
        # validate archive process

        # if not valid:
        #     rollback()
        # success = MetaUpload()
        tingest.ingest()
        self.assertTrue(tingest)