def FIXME_test_handle_payload(app, db, tester_id, remote_token): from invenio_webhooks.models import Event httpretty.enable() extra_data = remote_token.remote_account.extra_data assert 'auser/repo-1' in extra_data['repos'] assert 'auser/repo-2' in extra_data['repos'] assert len(extra_data['repos']['auser/repo-1']['depositions']) == 0 assert len(extra_data['repos']['auser/repo-2']['depositions']) == 0 event = Event(receiver_id='github', user_id=tester_id, payload=fixtures.PAYLOAD('auser', 'repo-1')) db.session.add(event) db.session.commit() event.process() db.session.expire(remote_token.remote_account) extra_data = self.remote_token.remote_account.extra_data assert len(extra_data['repos']['auser/repo-1']['depositions']) == 1 assert len(extra_data['repos']['auser/repo-2']['depositions']) == 0 dep = extra_data['repos']['auser/repo-1']['depositions'][0] assert dep['doi'].endswith(six.text_type(dep['record_id'])) assert dep['errors'] is None assert dep['github_ref'] == "v1.0"
def FIXME_test_handle_payload(app, db, tester_id, remote_token): from invenio_webhooks.models import Event httpretty.enable() extra_data = remote_token.remote_account.extra_data assert 'auser/repo-1' in extra_data['repos'] assert 'auser/repo-2' in extra_data['repos'] assert len(extra_data['repos']['auser/repo-1']['depositions']) == 0 assert len(extra_data['repos']['auser/repo-2']['depositions']) == 0 event = Event( receiver_id='github', user_id=tester_id, payload=fixtures.PAYLOAD('auser', 'repo-1') ) db.session.add(event) db.session.commit() event.process() db.session.expire(remote_token.remote_account) extra_data = self.remote_token.remote_account.extra_data assert len(extra_data['repos']['auser/repo-1']['depositions']) == 1 assert len(extra_data['repos']['auser/repo-2']['depositions']) == 0 dep = extra_data['repos']['auser/repo-1']['depositions'][0] assert dep['doi'].endswith(six.text_type(dep['record_id'])) assert dep['errors'] is None assert dep['github_ref'] == "v1.0"
def test_handle_payload(app, db, location, tester_id, remote_token, github_api): from invenio_webhooks.models import Event extra_data = remote_token.remote_account.extra_data assert '1' in extra_data['repos'] assert 'repo-1' in extra_data['repos']['1']['full_name'] assert '2' in extra_data['repos'] assert 'repo-2' in extra_data['repos']['2']['full_name'] # Create the repository that will make the release with db.session.begin_nested(): Repository.enable(tester_id, github_id=1, name='repo-1', hook=1234) event = Event( receiver_id='github', user_id=tester_id, payload=fixtures.PAYLOAD('auser', 'repo-1', 1) ) db.session.add(event) with patch('invenio_deposit.api.Deposit.indexer'): event.process() repo_1 = Repository.query.filter_by(name='repo-1', github_id=1).first() assert repo_1.releases.count() == 1 release = repo_1.releases.first() assert release.status == ReleaseStatus.PUBLISHED assert release.errors is None assert release.tag == 'v1.0' assert release.record is not None assert release.record.get('control_number') == '1' record_files = release.record.get('_files') assert len(record_files) == 1 assert record_files[0]['size'] > 0 bucket = Bucket.get(record_files[0]['bucket']) assert bucket is not None assert len(bucket.objects) == 1 assert bucket.objects[0].key == 'auser/repo-1-v1.0.zip'
def test_handle_payload(app, db, location, tester_id, remote_token, github_api): from invenio_webhooks.models import Event extra_data = remote_token.remote_account.extra_data assert '1' in extra_data['repos'] assert 'repo-1' in extra_data['repos']['1']['full_name'] assert '2' in extra_data['repos'] assert 'repo-2' in extra_data['repos']['2']['full_name'] # Create the repository that will make the release with db.session.begin_nested(): Repository.enable(tester_id, github_id=1, name='repo-1', hook=1234) event = Event(receiver_id='github', user_id=tester_id, payload=fixtures.PAYLOAD('auser', 'repo-1', 1)) db.session.add(event) with patch('invenio_deposit.api.Deposit.indexer'): event.process() repo_1 = Repository.query.filter_by(name='repo-1', github_id=1).first() assert repo_1.releases.count() == 1 release = repo_1.releases.first() assert release.status == ReleaseStatus.PUBLISHED assert release.errors is None assert release.tag == 'v1.0' assert release.record is not None assert release.record.get('control_number') == '1' record_files = release.record.get('_files') assert len(record_files) == 1 assert record_files[0]['size'] > 0 bucket = Bucket.get(record_files[0]['bucket']) assert bucket is not None assert len(bucket.objects) == 1 assert bucket.objects[0].key == 'auser/repo-1-v1.0.zip'