def test_two_urls(self):
        current_app.config['BUILD_FINISHED_URLS'] = ['http://example.com/a', 'http://example.com/b']
        responses.add(responses.POST, 'http://example.com/a', status=200)
        responses.add(responses.POST, 'http://example.com/b', status=200)

        project = self.create_project(name='test', slug='test')
        build = self.create_build(project, result=Result.failed, status=Status.finished)
        build_finished_handler(build.id)

        assert len(responses.calls) == 2
    def test_various_statuses(self):
        current_app.config['BUILD_FINISHED_URLS'] = [
            ('http://example.com/a', None),
        ]
        responses.add(responses.POST, 'http://example.com/a', status=400)

        project = self.create_project(name='test', slug='test')

        build = self.create_build(project,
                                  result=Result.failed,
                                  status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project,
                                  result=Result.passed,
                                  status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project,
                                  result=Result.unknown,
                                  status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project,
                                  result=Result.infra_failed,
                                  status=Status.finished)
        build_finished_handler(build.id)

        assert len(responses.calls) == 4
    def test_string_compatability(self):
        current_app.config['BUILD_FINISHED_URLS'] = [
            'http://example.com/a',
            'http://example.com/b',
            'http://example.com/c',
        ]
        responses.add(responses.POST, 'http://example.com/a', status=400)
        responses.add(responses.POST, 'http://example.com/b', status=500)
        responses.add(responses.POST, 'http://example.com/c', status=200)

        project = self.create_project(name='test', slug='test')
        build = self.create_build(project,
                                  result=Result.failed,
                                  status=Status.finished)
        build_finished_handler(build.id)

        assert len(responses.calls) == 3
    def test_various_statuses(self):
        current_app.config['BUILD_FINISHED_URLS'] = [
            ('http://example.com/a', None),
        ]
        responses.add(responses.POST, 'http://example.com/a', status=400)

        project = self.create_project(name='test', slug='test')

        build = self.create_build(project, result=Result.failed, status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project, result=Result.passed, status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project, result=Result.unknown, status=Status.finished)
        build_finished_handler(build.id)

        build = self.create_build(project, result=Result.infra_failed, status=Status.finished)
        build_finished_handler(build.id)

        assert len(responses.calls) == 4
 def test_no_urls(self):
     project = self.create_project(name='test', slug='test')
     build = self.create_build(project,
                               result=Result.failed,
                               status=Status.finished)
     build_finished_handler(build.id)
 def test_no_urls(self):
     project = self.create_project(name='test', slug='test')
     build = self.create_build(project, result=Result.failed, status=Status.finished)
     build_finished_handler(build.id)