Esempio n. 1
0
    def test_can_run_simple_project(self):
        temp_path = mkdtemp()
        team = TeamFactory.create()
        TeamFactory.add_projects(team, 1)
        user = team.owner
        project = team.projects[0]
        load_test = LoadTestFactory.add_to_project(1,
                                                   user=user,
                                                   team=team,
                                                   project=project,
                                                   base_url="%s/healthcheck" %
                                                   self.base_url,
                                                   simple=True)

        runner = BenchRunner()
        runner.run_project_tests(temp_path, str(load_test.uuid), duration=1)

        loaded = LoadTest.objects(uuid=load_test.uuid).first()

        expect(loaded).not_to_be_null()
        expect(loaded.status).to_equal("Finished")

        expect(loaded.results).to_length(1)

        expect(loaded.results[0].log).not_to_be_null()
        expect(loaded.results[0].status).to_equal("Successful")
        expect(loaded.results[0].config.module).to_equal("test_simple")
        expect(loaded.results[0].config.class_name).to_equal("SimpleTestTest")
        expect(loaded.results[0].config.test_name).to_equal("test_simple")
Esempio n. 2
0
 def test_get_return_200_if_not_team_owner(self):
     self._add_results()
     user = UserFactory.create(with_token=True)
     TeamFactory.create(owner=user)
     url = "/results/%s/%s/%s/%s/%s" % (self.team.name, self.project.name, self.config.module, self.config.class_name, self.config.test_name)
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(200)
Esempio n. 3
0
    def test_can_run_project(self):
        temp_path = mkdtemp()

        team = TeamFactory.create(name="teste")
        TeamFactory.add_projects(team, 1)
        user = team.owner
        project = team.projects[0]
        project.repository = "git://github.com/heynemann/wight.git"
        load_test = LoadTestFactory.add_to_project(1,
                                                   user=user,
                                                   team=team,
                                                   project=project,
                                                   base_url=self.base_url)

        runner = BenchRunner()
        runner.run_project_tests(temp_path, str(load_test.uuid), duration=1)

        loaded = LoadTest.objects(uuid=load_test.uuid).first()

        expect(loaded).not_to_be_null()
        expect(loaded.status).to_equal("Finished")

        expect(loaded.results).to_length(2)

        expect(loaded.results[0].log).not_to_be_null()
        expect(loaded.results[0].status).to_equal("Successful")
Esempio n. 4
0
 def test_delete_a_project(self):
     team = TeamFactory.create()
     TeamFactory.add_projects(team, 1)
     project = team.projects[0]
     team.delete_project(project.name)
     retrieved = Team.objects.filter(name=team.name).first()
     expect(retrieved.projects).to_length(0)
Esempio n. 5
0
 def test_get_return_200_if_not_team_owner(self):
     self._add_results_for_last()
     user = UserFactory.create(with_token=True)
     TeamFactory.create(owner=user)
     url = "/load-test-result/%s/last/" % self.load_test2.results[1].uuid
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(200)
Esempio n. 6
0
 def test_get_return_200_if_not_team_owner(self):
     self._add_results_for_last()
     user = UserFactory.create(with_token=True)
     TeamFactory.create(owner=user)
     url = "/load-test-result/%s/last/" % self.load_test2.results[1].uuid
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(200)
Esempio n. 7
0
 def test_get_return_200_if_not_team_owner_but_team_member(self):
     TeamFactory.add_members(self.team, 1, with_token=True)
     self.user = self.team.members[0]
     url = "/teams/%s/projects/%s/load_tests/?quantity=20" % (
         self.team.name, self.project.name)
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(200)
Esempio n. 8
0
 def test_delete_a_project(self):
     team = TeamFactory.create()
     TeamFactory.add_projects(team, 1)
     project = team.projects[0]
     team.delete_project(project.name)
     retrieved = Team.objects.filter(name=team.name).first()
     expect(retrieved.projects).to_length(0)
Esempio n. 9
0
    def test_can_run_funkload(self):
        team = TeamFactory.create()
        TeamFactory.add_projects(team, 1)
        user = team.owner
        project = team.projects[0]
        load_test = LoadTestFactory.add_to_project(1, user=user, team=team, project=project)
        load_test.pressure = "small"

        conf = WightConfig.load(join(root_path, 'bench', 'wight.yml'))
        test = conf.tests[0]

        DEFAULT_CYCLES = {
            "small": [10, 20],
            "medium": [10, 20, 30],
            "large": [30, 75, 100],
        }

        fl_result = FunkLoadBenchRunner.run(root_path, test, self.base_url, cycles=DEFAULT_CYCLES, duration=5)

        expect(fl_result).not_to_be_null()
        expect(fl_result.exit_code).to_equal(0)

        expect(fl_result.text).to_include("SUCCESSFUL")

        expect(fl_result.log).to_be_empty()

        expect(fl_result.result).not_to_be_null()
        expect(fl_result.config).not_to_be_null()

        result = LoadTest.get_data_from_funkload_results(fl_result.config, fl_result.result)

        load_test.add_result(result, fl_result.text)

        expect(load_test.results).to_length(1)
Esempio n. 10
0
    def test_get_user_info(self):
        team_owner = TeamFactory(owner=self.user)
        team_member = TeamFactory(members=[self.user])
        response = self.fetch_with_headers("/user/info/%s" % self.user.email)

        expect(response.code).to_equal(200)

        body = response.body
        if isinstance(body, six.binary_type):
            body = body.decode('utf-8')
        body = loads(body)
        expect(body['user']['email']).to_equal(self.user.email)

        owner_team = [
            team for team in body['user']['teams'] if team['role'] == 'owner'
        ]
        member_team = [
            team for team in body['user']['teams'] if team['role'] == 'member'
        ]

        expect(owner_team).to_length(1)
        expect(member_team).to_length(1)

        expect(owner_team[0]['name']).to_equal(team_owner.name)
        expect(member_team[0]['name']).to_equal(team_member.name)
Esempio n. 11
0
    def setUp(self):
        super(DeleteTeamProjectTest, self).setUp()

        self.user = UserFactory.create(with_token=True)
        self.team = TeamFactory.create(owner=self.user)
        TeamFactory.add_projects(self.team, 1)
        TeamFactory.add_members(self.team, 2)
        self.project = self.team.projects[0]
Esempio n. 12
0
    def setUp(self):
        super(DeleteTeamProjectTest, self).setUp()

        self.user = UserFactory.create(with_token=True)
        self.team = TeamFactory.create(owner=self.user)
        TeamFactory.add_projects(self.team, 1)
        TeamFactory.add_members(self.team, 2)
        self.project = self.team.projects[0]
Esempio n. 13
0
 def test_update_a_project_with_repository(self):
     team = TeamFactory.create()
     TeamFactory.add_projects(team, 1)
     project = team.projects[0]
     team.update_project(project.name, new_repository="new-repository")
     retrieved = Team.objects.filter(name=team.name).first()
     expect(retrieved.projects[0].name).to_equal(project.name)
     expect(retrieved.projects[0].repository).to_equal("new-repository")
Esempio n. 14
0
 def test_update_a_project_with_name(self):
     team = TeamFactory.create()
     TeamFactory.add_projects(team, 1)
     project = team.projects[0]
     team.update_project(project.name, "new-name")
     retrieved = Team.objects.filter(name=team.name).first()
     expect(retrieved.projects[0].name).to_equal("new-name")
     expect(retrieved.projects[0].repository).to_equal(project.repository)
Esempio n. 15
0
 def test_get_return_200_if_not_team_owner(self):
     self._add_results()
     user = UserFactory.create(with_token=True)
     TeamFactory.create(owner=user)
     url = "/results/%s/%s/%s/%s/%s" % (
         self.team.name, self.project.name, self.config.module,
         self.config.class_name, self.config.test_name)
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(200)
Esempio n. 16
0
 def test_get_last_3_load_tests_for_all_projects_when_owner(self):
     LoadTestFactory.add_to_project(4, user=self.user, team=self.team, project=self.project)
     LoadTestFactory.add_to_project(4, user=self.user, team=self.team, project=self.team.projects[1])
     team = TeamFactory.create(owner=self.user)
     TeamFactory.add_projects(team, 1)
     LoadTestFactory.add_to_project(4, user=self.user, team=team, project=team.projects[0])
     LoadTestFactory.add_to_project(4, user=UserFactory.create())
     loaded_tests = list(LoadTest.get_by_user(self.user))
     expect(loaded_tests).to_length(9)
Esempio n. 17
0
    def test_can_create_team_with_members(self):
        team = TeamFactory.create()
        TeamFactory.add_members(team, 1)

        retrieved = Team.objects(id=team.id)
        expect(retrieved.count()).to_equal(1)
        expect(retrieved.first().name).to_equal(team.name)
        expect(retrieved.first().members).to_length(1)
        expect(retrieved.first().members[0].email).to_equal(team.members[0].email)
Esempio n. 18
0
 def test_get_project_by_team_should_be_a_equal_to_project_dict(self):
     TeamFactory.add_projects(self.team, 2)
     project = self.team.projects[1]
     response = self.fetch_with_headers("/teams/%s/projects/%s" % (self.team.name, project.name))
     expect(response.code).to_equal(200)
     obj = response.body
     if isinstance(obj, six.binary_type):
         obj = obj.decode('utf-8')
     expect(loads(obj)).to_be_like(project.to_dict())
Esempio n. 19
0
 def test_get_project_by_team_should_be_a_equal_to_project_dict(self):
     TeamFactory.add_projects(self.team, 2)
     project = self.team.projects[1]
     response = self.fetch_with_headers("/teams/%s/projects/%s" %
                                        (self.team.name, project.name))
     expect(response.code).to_equal(200)
     obj = response.body
     if isinstance(obj, six.binary_type):
         obj = obj.decode('utf-8')
     expect(loads(obj)).to_be_like(project.to_dict())
Esempio n. 20
0
 def setUp(self):
     super(ShowTestResultForTeamProjectAndTestTest, self).setUp()
     self.user = UserFactory.create(with_token=True)
     self.team = TeamFactory.create(owner=self.user)
     TeamFactory.add_projects(self.team, 2)
     self.project = self.team.projects[0]
     self.load_test = LoadTestFactory.create(created_by=self.user, team=self.team, project_name=self.project.name, status="Finished")
     self.load_test.save()
     self.config = TestConfigurationFactory.build()
     self.config2 = TestConfigurationFactory.build()
Esempio n. 21
0
 def setUp(self):
     super(ShowLoadLastTestResultTest, self).setUp()
     self.user = UserFactory.create(with_token=True)
     self.team = TeamFactory.create(owner=self.user)
     TeamFactory.add_projects(self.team, 1)
     self.project = self.team.projects[0]
     self.load_test = LoadTestFactory.create(created_by=self.user, team=self.team, project_name=self.project.name, status="Finished")
     self.load_test.results.append(TestResultFactory.build())
     self.load_test.save()
     self.result = self.load_test.results[0]
Esempio n. 22
0
    def test_can_create_project_being_a_member(self):
        team = TeamFactory.create()
        TeamFactory.add_members(team, 2)
        team.add_project(name="test-can-create-project-being-a-member", repository="repo", created_by=team.members[0])

        retrieved = Team.objects.filter(name=team.name).first()
        expect(retrieved).not_to_be_null()
        expect(retrieved.projects).to_length(1)
        expect(retrieved.projects[0].name).to_equal(team.projects[0].name)
        expect(retrieved.projects[0].repository).to_equal(team.projects[0].repository)
Esempio n. 23
0
    def test_can_create_team_with_members(self):
        team = TeamFactory.create()
        TeamFactory.add_members(team, 1)

        retrieved = Team.objects(id=team.id)
        expect(retrieved.count()).to_equal(1)
        expect(retrieved.first().name).to_equal(team.name)
        expect(retrieved.first().members).to_length(1)
        expect(retrieved.first().members[0].email).to_equal(
            team.members[0].email)
 def setUp(self):
     super(ShowAuthLoadTestResultTest, self).setUp()
     self.user = UserFactory.create(with_token=True)
     self.team = TeamFactory.create(owner=self.user)
     TeamFactory.add_projects(self.team, 1)
     self.project = self.team.projects[0]
     self.load_test = LoadTestFactory.create(created_by=self.user, team=self.team, project_name=self.project.name)
     self.load_test.results.append(TestResultFactory.build())
     self.load_test.save()
     self.result = self.load_test.results[0]
Esempio n. 25
0
    def test_list_load_tests_by_team_and_project(self):
        team = TeamFactory.create(owner=self.user)
        TeamFactory.add_projects(team, 1)
        project = team.projects[0]
        LoadTestFactory.add_to_project(25, user=self.user, team=team, project=project)

        load_tests = LoadTest.get_sliced_by_team_and_project_name(team, project.name, 20)
        uuids = _get_print_lines_for_load_tests(load_tests)

        result = self.execute("list", team=team.name, project=project.name)
        expect(result).to_be_like(BASE_LOAD_TESTS_TABLE_PRINT % (team.name, project.name, "".join(uuids)))
Esempio n. 26
0
    def test_can_git_clone_in_specific_branch(self, run_config_mock, load_config_mock, validate_mock, save_mock, clone_mock):
        team = TeamFactory.create()
        TeamFactory.add_projects(team, 1)
        user = team.owner
        project = team.projects[0]
        load_test = LoadTestFactory.add_to_project(1, user=user, team=team, project=project, branch="test")

        runner = BenchRunner()
        runner.run_project_tests("some-path-doesnt-matter", str(load_test.uuid), duration=1)
        expect(clone_mock.call_args_list[0][1]['branch']).to_be_like(
            "test"
        )
Esempio n. 27
0
    def test_can_git_clone_in_specific_branch(
        self, run_config_mock, load_config_mock, validate_mock, save_mock, clone_mock
    ):
        team = TeamFactory.create()
        TeamFactory.add_projects(team, 1)
        user = team.owner
        project = team.projects[0]
        load_test = LoadTestFactory.add_to_project(1, user=user, team=team, project=project, branch="test")

        runner = BenchRunner()
        runner.run_project_tests("some-path-doesnt-matter", str(load_test.uuid), duration=1)
        expect(clone_mock.call_args_list[0][1]["branch"]).to_be_like("test")
Esempio n. 28
0
 def setUp(self):
     super(ShowTestResultForTeamProjectAndTestTest, self).setUp()
     self.user = UserFactory.create(with_token=True)
     self.team = TeamFactory.create(owner=self.user)
     TeamFactory.add_projects(self.team, 2)
     self.project = self.team.projects[0]
     self.load_test = LoadTestFactory.create(created_by=self.user,
                                             team=self.team,
                                             project_name=self.project.name,
                                             status="Finished")
     self.load_test.save()
     self.config = TestConfigurationFactory.build()
     self.config2 = TestConfigurationFactory.build()
Esempio n. 29
0
 def test_get_project_by_team_should_be_a_json(self):
     TeamFactory.add_projects(self.team, 2)
     project = self.team.projects[1]
     response = self.fetch_with_headers("/teams/%s/projects/%s" % (self.team.name, project.name))
     expect(response.code).to_equal(200)
     obj = response.body
     if isinstance(obj, six.binary_type):
         obj = obj.decode('utf-8')
     try:
         loads(obj)
         assert True
     except ValueError:
         raise AssertionError("Should be possible to load a json from response")
Esempio n. 30
0
    def test_can_create_project_being_a_member(self):
        team = TeamFactory.create()
        TeamFactory.add_members(team, 2)
        team.add_project(name="test-can-create-project-being-a-member",
                         repository="repo",
                         created_by=team.members[0])

        retrieved = Team.objects.filter(name=team.name).first()
        expect(retrieved).not_to_be_null()
        expect(retrieved.projects).to_length(1)
        expect(retrieved.projects[0].name).to_equal(team.projects[0].name)
        expect(retrieved.projects[0].repository).to_equal(
            team.projects[0].repository)
Esempio n. 31
0
    def test_show_memberships(self):
        t1 = TeamFactory.create(owner=self.user)
        t2 = TeamFactory.create(members=[self.user])
        result = self.execute("user-info")

        expected = ("""User: %s
          +--------+--------+
          | team   | role   |
          +--------+--------+
          | %s     | owner  |
          | %s     | member |
          +--------+--------+
        """ % (self.user.email, t1.name, t2.name)).replace('-', '')

        expect(result.replace('-', '')).to_be_like(expected)
Esempio n. 32
0
 def test_get_project_by_team_should_be_a_json(self):
     TeamFactory.add_projects(self.team, 2)
     project = self.team.projects[1]
     response = self.fetch_with_headers("/teams/%s/projects/%s" %
                                        (self.team.name, project.name))
     expect(response.code).to_equal(200)
     obj = response.body
     if isinstance(obj, six.binary_type):
         obj = obj.decode('utf-8')
     try:
         loads(obj)
         assert True
     except ValueError:
         raise AssertionError(
             "Should be possible to load a json from response")
Esempio n. 33
0
    def test_can_schedule_in_specific_branch(self):
        team = TeamFactory.create(owner=self.user)
        TeamFactory.add_projects(team, 2)
        project_name = team.projects[0].name

        result = self.execute("schedule", team=team.name, project=project_name, url="http://www.globo.com", branch="test-branch")
        expect(result).to_be_like(
            "Scheduled a new load test for project '%s' (branch '%s') in team '%s' at '%s' target." % (
                project_name, "test-branch", team.name, self.target
            )
        )

        load_test = LoadTest.objects.filter(team=team, project_name=project_name).first()
        expect(load_test).not_to_be_null()
        expect(load_test.git_branch).to_equal("test-branch")
def test_team_update_delete_permissions(client, TwoChallengeSets, view):
    team = TeamFactory(
        challenge=TwoChallengeSets.ChallengeSet1.challenge,
        owner=TwoChallengeSets.ChallengeSet1.participant,
    )
    TeamFactory(
        challenge=TwoChallengeSets.ChallengeSet1.challenge,
        owner=TwoChallengeSets.ChallengeSet1.participant1,
    )
    validate_owner_or_admin_view(
        viewname=view,
        reverse_kwargs={'pk': team.pk},
        two_challenge_set=TwoChallengeSets,
        client=client,
    )
Esempio n. 35
0
    def test_show_memberships(self):
        t1 = TeamFactory.create(owner=self.user)
        t2 = TeamFactory.create(members=[self.user])
        result = self.execute("user-info")

        expected = ("""User: %s
          +--------+--------+
          | team   | role   |
          +--------+--------+
          | %s     | owner  |
          | %s     | member |
          +--------+--------+
        """ % (self.user.email, t1.name, t2.name)).replace('-', '')

        expect(result.replace('-', '')).to_be_like(expected)
Esempio n. 36
0
    def test_add_team_member_twice(self):
        user = UserFactory.create()
        team = TeamFactory.create(owner=self.user, members=[user])

        response = self.patch("/teams/%s/members" % team.name, user=user.email)
        expect(response.code).to_equal(409)
        expect(response.body).to_equal("User already team member")
Esempio n. 37
0
    def test_add_non_existent_user(self):
        team = TeamFactory.create(owner=self.user)

        response = self.patch("/teams/%s/members" % team.name,
                              user="******")
        expect(response.code).to_equal(400)
        expect(response.body).to_equal("User not found")
Esempio n. 38
0
 def test_try_delete_team_without_auth(self):
     team = TeamFactory.create(owner=self.user)
     self.user = None
     response = self.delete("/teams/anything")
     expect(response.code).to_equal(401)
     team = Team.objects.filter(name=team.name).first()
     expect(team).not_to_be_null()
Esempio n. 39
0
    def setUp(self):
        super(ScheduleLoadTestTest, self).setUp()

        self.user = UserFactory.create(with_token=True)
        self.team = TeamFactory.create(owner=self.user)
        self.project = self.team.add_project("schedule-test-project-1", "repo",
                                             self.user)
Esempio n. 40
0
    def test_schedule_test_without_being_a_member(self):
        team = TeamFactory.create()
        prj = team.add_project("bla", "repo", team.owner)

        url = "/teams/%s/projects/%s/load_tests/" % (team.name, prj.name)
        response = self.post(url, **{"base_url": "http://www.globo.com"})
        expect(response.code).to_equal(403)
Esempio n. 41
0
    def test_add_team_member_twice(self):
        user = UserFactory.create()
        team = TeamFactory.create(owner=self.user, members=[user])

        response = self.patch("/teams/%s/members" % team.name, user=user.email)
        expect(response.code).to_equal(409)
        expect(response.body).to_equal("User already team member")
Esempio n. 42
0
    def test_load_test_instance(self):
        team = TeamFactory.create(owner=self.user)
        project = team.add_project("load-test-instace-acc-1", "repo", self.user)
        load_test = LoadTestFactory.create(created_by=team.owner, team=team, project_name=project.name)
        result1 = TestResultFactory.build()
        result2 = TestResultFactory.build()
        load_test.results.append(result1)
        load_test.results.append(result2)
        load_test.save()

        result = self.execute("show", load_test.uuid)
        expected_text = [
            result1.config.title,
            result1.cycles[-1].concurrent_users,
            result1.cycles[-1].request.successful_requests_per_second,
            result1.cycles[-1].request.p95,
            result1.cycles[-1].request.failed_requests,
            result1.uuid,

            result2.config.title,
            result2.cycles[-1].concurrent_users,
            result2.cycles[-1].request.successful_requests_per_second,
            result2.cycles[-1].request.p95,
            result2.cycles[-1].request.failed_requests,
            result2.uuid,
            load_test.uuid,
            load_test.status
        ]

        for expected in expected_text:
            expect(result).to_include(expected)
Esempio n. 43
0
 def test_try_delete_team_without_auth(self):
     team = TeamFactory.create(owner=self.user)
     self.user = None
     response = self.delete("/teams/anything")
     expect(response.code).to_equal(401)
     team = Team.objects.filter(name=team.name).first()
     expect(team).not_to_be_null()
Esempio n. 44
0
    def test_create_project_with_same_name_in_different_teams(self):
        team = TeamFactory.create()
        team2 = TeamFactory.create()

        team.add_project(name="test-can-create-project", repository="repo", created_by=team.owner)
        team2.add_project(name="test-can-create-project", repository="repo", created_by=team2.owner)

        retrieved = Team.objects.filter(name=team.name).first()
        expect(retrieved).not_to_be_null()
        expect(retrieved.projects).to_length(1)
        expect(retrieved.projects[0].name).to_equal(team.projects[0].name)

        retrieved = Team.objects.filter(name=team2.name).first()
        expect(retrieved).not_to_be_null()
        expect(retrieved.projects).to_length(1)
        expect(retrieved.projects[0].name).to_equal(team2.projects[0].name)
Esempio n. 45
0
    def test_add_owner_as_a_member(self):
        team = TeamFactory.create(owner=self.user)

        response = self.patch("/teams/%s/members" % team.name,
                              user=self.user.email)
        expect(response.code).to_equal(409)
        expect(response.body).to_equal("User already team owner")
Esempio n. 46
0
def test_update_or_create(monkeypatch, db):
    user = UserFactory()

    team_1 = TeamFactory(name=("Team 1"), _base_log_user=user)
    team_2 = TeamFactory(name=("Team 2"), _base_log_user=user)

    player = PlayerFactory(name=(player_name := "Player"),
                           team=team_1,
                           _base_log_user=user)

    def save_signal(sender, **kwargs):
        assert sender == Player
        assert kwargs["obj"].pk is player.pk
        assert kwargs["obj"].name == player_name
        assert kwargs["obj"].team == team_2
        assert kwargs["user"] == user

    monkeypatch.setattr("django_base_model.signals.base_create.send",
                        save_signal)

    Player.objects.update_or_create(name=player_name,
                                    team=team_1,
                                    defaults={"team": team_2},
                                    _base_log_user=user)

    assert Player.objects.count() == 1

    new_player_name = "Player 2"

    def save_signal(sender, **kwargs):
        assert sender == Player
        assert kwargs["obj"].pk is not None
        assert kwargs["obj"].name == new_player_name
        assert kwargs["obj"].team == team_2
        assert kwargs["user"] == user

    monkeypatch.setattr("django_base_model.signals.base_create.send",
                        save_signal)

    Player.objects.update_or_create(
        name=new_player_name,
        team=team_1,
        defaults={"team": team_2},
        _base_log_user=user,
    )

    assert Player.objects.count() == 2
Esempio n. 47
0
def main(args=None):
    if args is None:
        args = sys.argv[1:]

    parser = argparse.ArgumentParser()
    parser.add_argument('--conf', '-c', default=DEFAULT_CONFIG_PATH, help="Path to configuration file.")
    options = parser.parse_args(args)

    config = Config.load(path=options.conf, conf_name=split(options.conf)[-1], lookup_paths=[
        os.curdir,
        expanduser('~'),
        '/etc/',
    ])

    connect(
        config.MONGO_DB,
        host=config.MONGO_HOST,
        port=config.MONGO_PORT,
        username=config.MONGO_USER,
        password=config.MONGO_PASS
    )

    user = UserFactory.create()
    team = TeamFactory.create(owner=user)
    TeamFactory.add_projects(team, 1)
    project = team.projects[0]
    config = TestConfigurationFactory.build()
    load_test1 = LoadTestFactory.add_to_project(1, user=user, team=team, project=project)
    load_test1.results.append(TestResultFactory.build(config=config))
    load_test1.save()
    print "load test 1: %s" % load_test1.uuid
    print "test result for load test 1: %s" % load_test1.results[0].uuid
    load_test2 = LoadTestFactory.add_to_project(1, user=user, team=team, project=project)
    load_test2.results.append(TestResultFactory.build(config=config))
    load_test2.results.append(TestResultFactory.build())
    load_test2.save()
    load_test3 = LoadTestFactory.add_to_project(1, user=user, team=team, project=project)
    load_test3.results.append(TestResultFactory.build(config=config))
    load_test3.save()
    load_test4 = LoadTestFactory.add_to_project(1, user=user, team=team, project=project)
    load_test4.results.append(TestResultFactory.build(config=config))
    load_test4.save()
    print "load test 2: %s" % load_test2.uuid
    print "test result 1 for load test 2: %s" % load_test2.results[0].uuid
    print "test result 2 for load test 2: %s" % load_test2.results[1].uuid
    print "url for trend: %s/%s/%s/%s/%s/" % (team.name, project.name, config.module, config.class_name, config.test_name)
 def test_get_return_403_if_not_team_owner(self):
     user = UserFactory.create(with_token=True)
     team = TeamFactory.create(owner=user)
     url = "/teams/%s/projects/%s/load-tests/%s/results/some-result-uuid" % (
         team.name, self.project.name, self.load_test.uuid
     )
     response = self.fetch_with_headers(url)
     expect(response.code).to_equal(403)
Esempio n. 49
0
    def test_update_team_to_empty_name(self):
        team = TeamFactory.create(owner=self.user)

        response = self.put("/teams/%s" % team.name, name="")
        expect(response.code).to_equal(400)

        response = self.put("/teams/%s" % team.name)
        expect(response.code).to_equal(400)
Esempio n. 50
0
    def test_can_create_empty_team(self):
        team = TeamFactory.create()

        retrieved = Team.objects(id=team.id)
        expect(retrieved.count()).to_equal(1)
        expect(retrieved.first().name).to_equal(team.name)

        expect(retrieved.first().owner.id).to_equal(team.owner.id)
Esempio n. 51
0
    def test_can_update_team(self):
        team = TeamFactory.create(owner=self.user)

        result = self.execute("team-update", team.name, "new-team-name")
        expect(result).to_be_like("Updated '%s' team to 'new-team-name' in '%s' target." % (team.name, self.target))

        team = Team.objects.filter(name="new-team-name").first()
        expect(team).not_to_be_null()
Esempio n. 52
0
    def test_can_create_empty_team(self):
        team = TeamFactory.create()

        retrieved = Team.objects(id=team.id)
        expect(retrieved.count()).to_equal(1)
        expect(retrieved.first().name).to_equal(team.name)

        expect(retrieved.first().owner.id).to_equal(team.owner.id)
Esempio n. 53
0
    def test_try_to_delete_a_not_owner_team(self):
        team = TeamFactory.create(owner=UserFactory.create(with_token=True))

        response = self.delete("/teams/%s" % team.name)
        expect(response.code).to_equal(403)

        team = Team.objects.filter(name=team.name).first()
        expect(team).not_to_be_null()
Esempio n. 54
0
 def test_can_create_a_load_test_if_team_member(self):
     TeamFactory.add_members(self.team, 1)
     user = self.team.members[0]
     test = LoadTestFactory.create(
         created_by=user,
         team=self.team,
         project_name=self.project.name
     )
     retrieveds = LoadTest.objects(id=test.id)
     expect(retrieveds.count()).to_equal(1)
     retrieved = retrieveds.first()
     expect(retrieved.status).to_equal("Scheduled")
     expect(retrieved.created_by.email).to_equal(user.email)
     expect(retrieved.team.name).to_equal(self.team.name)
     expect(retrieved.project_name).to_equal(self.project.name)
     expect(retrieved.date_created).to_be_like(test.date_created)
     expect(retrieved.date_modified).to_be_like(test.date_modified)
Esempio n. 55
0
    def test_to_dict(self):
        team = TeamFactory.create()
        TeamFactory.add_members(team, 2)
        TeamFactory.add_projects(team, 2)

        expect(team.to_dict()).to_be_like({
            "name": team.name,
            "owner": team.owner.email,
            "members": [
                team.members[0].email,
                team.members[1].email,
            ],
            "projects": [
                team.projects[0].to_dict(),
                team.projects[1].to_dict(),
            ]
        })
Esempio n. 56
0
    def test_can_remove_user(self):
        user = UserFactory.create()
        team = TeamFactory.create(owner=self.user, members=[user])

        result = self.execute("team-removeuser", team.name, user.email)
        expect(result).to_be_like("User '%s' removed from Team '%s'." % (user.email, team.name))

        team = Team.objects.filter(name=team.name).first()
        expect(team.members).not_to_include(user)