Пример #1
0
    def get(self, project_name, test_name):
        project = Project.objects(name=project_name).get()
        test = Test.objects(project=project, name=test_name).get()

        # transforms 30:60:90 in [10:20:30, 10:20:30, 10:20:30]
        test_cycles = [':'.join([str(int(cycle) / test.number_of_workers) for cycle in test.cycles.split(':')])] \
                            * test.number_of_workers

        result = TestResult(test=test,
                            number_of_workers=test.number_of_workers,
                            created_date=datetime.now())
        result.stats = TestStats()

        for index, worker in enumerate(range(test.number_of_workers)):
            test_cycle = test_cycles[index]
            run = TestRun(uuid=str(uuid4()),
                          git_repo=project.git_repo,
                          module=test.module,
                          test_class=test.test_class,
                          server_url=test.server_url,
                          cycles=test_cycle,
                          cycle_duration=test.cycle_duration)

            result.runs.append(run)

        result.save()
        self.redirect('/?test_scheduled=true')