Example #1
0
    def test_links_created_document_with_trial(self, conn, data_contribution):
        processor.process({}, conn)

        contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        document = conn['database']['trials_documents'].find_one(
            document_id=contrib['document_id'],
            trial_id=contrib['trial_id']
        )
        assert document is not None
Example #2
0
    def test_removes_document_if_contribution_is_unapproved(self, conn, data_contribution):
        processor.process({}, conn)
        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        document = conn['database']['documents'].find_one(id=updated_contrib['document_id'])

        updated_contrib.update({'approved': False})
        conn['explorer']['data_contributions'].update(updated_contrib, ['id'])
        processor.process({}, conn)

        assert conn['database']['documents'].find_one(id=document['id']) is None
Example #3
0
    def test_ignores_contribution_with_invalid_trial_id(self, conn, data_contribution):
        contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        contrib_attrs = {
            'trial_id': 'e0f3ef3c-edba-11e6-ae32-e4b3181a2c8c',
        }
        contrib.update(contrib_attrs)
        conn['explorer']['data_contributions'].update(contrib, ['id'])
        processor.process({}, conn)

        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        assert updated_contrib['document_id'] is None
Example #4
0
    def test_ignores_archive_contribution(self, conn, data_contribution):
        contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        contrib_attrs = {
            'url': 'https://github.com/opentrials/processors/archive/master.zip',
        }
        contrib.update(contrib_attrs)
        conn['explorer']['data_contributions'].update(contrib, ['id'])
        processor.process({}, conn)

        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        assert updated_contrib['document_id'] is None
Example #5
0
    def test_ignores_contribution_with_invalid_url(self, conn, data_contribution):
        contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        contrib_attrs = {
            'url': 'invalid url',
        }
        contrib.update(contrib_attrs)
        conn['explorer']['data_contributions'].update(contrib, ['id'])
        processor.process({}, conn)

        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        assert updated_contrib['document_id'] is None
Example #6
0
    def test_updates_contribution_document_id_if_document_is_removed(self, conn, data_contribution):
        processor.process({}, conn)
        processed_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)

        processed_contrib.update({'approved': False})
        conn['explorer']['data_contributions'].update(processed_contrib, ['id'])
        processor.process({}, conn)
        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)

        assert processed_contrib['document_id'] is not None
        assert updated_contrib['document_id'] is None
Example #7
0
    def test_updates_document_from_contribution(self, conn, data_contribution, document):
        contrib_record = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        document_record = conn['database']['documents'].find_one(id=document)
        contrib_record.update({
            'document_id': document,
        })
        document_record.update({
            'source_url': 'http://example.com',
            'file_id': None,
        })
        conn['explorer']['data_contributions'].update(contrib_record, ['id'])
        conn['database']['documents'].update(document_record, ['id'])
        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)

        new_contrib_attrs = {
            'url': 'http://www.example.net',
        }
        updated_contrib.update(new_contrib_attrs)
        conn['explorer']['data_contributions'].update(updated_contrib, ['id'])
        processor.process({}, conn)
        updated_document = conn['database']['documents'].find_one(id=document)

        assert updated_document['source_url'] == new_contrib_attrs['url']
Example #8
0
    def test_creates_document_from_contribution(self, conn, data_contribution):
        processor.process({}, conn)

        updated_contrib = conn['explorer']['data_contributions'].find_one(id=data_contribution)
        assert conn['database']['documents'].find_one(id=updated_contrib['document_id']) is not None