示例#1
0
 def setUp(self):
     self.benchmark1 = Benchmark.objects.get(pk=1)
     self.benchmark2_data = dict(
         name="sleep",
         benchmark_type='C',
         description='fast faster fastest',
         units_title='Time',
         units='seconds',
         lessisbetter=True,
         default_on_comparison=True,
     )
     self.benchmark2 = Benchmark(**self.benchmark2_data)
     self.benchmark2.save()
     self.client = Client()
     super(BenchmarkTest, self).setUp()
示例#2
0
 def setUp(self):
     self.benchmark1 = Benchmark.objects.get(pk=1)
     self.benchmark2_data = dict(
         name="sleep",
         benchmark_type = 'C',
         description = 'fast faster fastest',
         units_title = 'Time',
         units = 'seconds',
         lessisbetter = True,
         default_on_comparison = True,
         )
     self.benchmark2 = Benchmark(**self.benchmark2_data)
     self.benchmark2.save()
     self.client = Client()
     super(BenchmarkTest, self).setUp()
示例#3
0
    def setUp(self):
        self.days = 0
        self.starttime = datetime.now() + timedelta(days=-100)

        Project(repo_type='G', name='pro',
                repo_path='/home/foo/codespeed').save()
        self.pro = Project.objects.get(name='pro')

        Branch(project=self.pro, name='branch').save()
        self.b = Branch.objects.get(name='branch')

        Environment(name='Walden Pond').save()
        Executable(name='walden', project=self.pro).save()
        Benchmark(name='TestBench').save()

        self.env = Environment.objects.get(name='Walden Pond')
        self.exe = Executable.objects.get(name='walden')
        self.bench = Benchmark.objects.get(name='TestBench')
示例#4
0
class BenchmarkTest(FixtureTestCase):
    """Test Benchmark() API"""
    def setUp(self):
        self.benchmark1 = Benchmark.objects.get(pk=1)
        self.benchmark2_data = dict(
            name="sleep",
            benchmark_type='C',
            description='fast faster fastest',
            units_title='Time',
            units='seconds',
            lessisbetter=True,
            default_on_comparison=True,
        )
        self.benchmark2 = Benchmark(**self.benchmark2_data)
        self.benchmark2.save()
        self.client = Client()
        super(BenchmarkTest, self).setUp()

    def test_get_benchmark(self):
        """Should get an existing benchmark"""
        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 200)
        self.assertEqual(json.loads(response.content)['name'], 'float')
        self.assertEqual(json.loads(response.content)['units'], "seconds")

    def test_get_benchmark_all_fields(self):
        """Should get all fields for an benchmark"""
        response = self.client.get('/api/v1/benchmark/{0}/'.format(
            self.benchmark2.id, ))
        self.assertEquals(response.status_code, 200)
        for k, v in self.benchmark2_data.items():
            self.assertEqual(json.loads(response.content)[k], v)

    def test_post(self):
        """Should save a new benchmark"""
        modified_data = copy.deepcopy(self.benchmark2_data)
        modified_data['name'] = 'wake'
        response = self.client.post('/api/v1/benchmark/',
                                    data=json.dumps(modified_data),
                                    content_type='application/json')
        self.assertEquals(response.status_code, 201)
        id = response['Location'].rsplit('/', 2)[-2]
        response = self.client.get('/api/v1/benchmark/{0}/'.format(id))
        for k, v in modified_data.items():
            self.assertEqual(json.loads(response.content)[k], v)
        response = self.client.delete('/api/v1/benchmark/{0}/'.format(id),
                                      content_type='application/json')
        self.assertEquals(response.status_code, 204)

    def test_put(self):
        """Should modify an existing benchmark"""
        modified_data = copy.deepcopy(self.benchmark2_data)
        modified_data['name'] = "django"
        response = self.client.put('/api/v1/benchmark/1/',
                                   data=json.dumps(modified_data),
                                   content_type='application/json')
        self.assertEquals(response.status_code, 204)
        response = self.client.get('/api/v1/benchmark/1/')
        for k, v in modified_data.items():
            self.assertEqual(json.loads(response.content)[k], v)

    def test_delete(self):
        """Should delete a benchmark"""
        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 200)
        # from fixture
        response = self.client.delete('/api/v1/benchmark/1/',
                                      content_type='application/json')
        self.assertEquals(response.status_code, 204)

        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 404)
示例#5
0
 def make_bench(self, name, quantity='Time', units='seconds'):
     Benchmark(name=name, units_title=quantity, units=units).save()
     return Benchmark.objects.get(name=name)
示例#6
0
class BenchmarkTest(FixtureTestCase):
    """Test Benchmark() API"""

    def setUp(self):
        self.benchmark1 = Benchmark.objects.get(pk=1)
        self.benchmark2_data = dict(
            name="sleep",
            benchmark_type = 'C',
            description = 'fast faster fastest',
            units_title = 'Time',
            units = 'seconds',
            lessisbetter = True,
            default_on_comparison = True,
            )
        self.benchmark2 = Benchmark(**self.benchmark2_data)
        self.benchmark2.save()
        self.client = Client()
        super(BenchmarkTest, self).setUp()

    def test_get_benchmark(self):
        """Should get an existing benchmark"""
        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 200)
        self.assertEqual(json.loads(response.content)['name'],
                         'float')
        self.assertEqual(json.loads(response.content)['units'],
                         "seconds")

    def test_get_benchmark_all_fields(self):
        """Should get all fields for an benchmark"""
        response = self.client.get('/api/v1/benchmark/{0}/'.format(
            self.benchmark2.id,))
        self.assertEquals(response.status_code, 200)
        for k, v in self.benchmark2_data.items():
            self.assertEqual(json.loads(response.content)[k], v)

    def test_post(self):
        """Should save a new benchmark"""
        modified_data = copy.deepcopy(self.benchmark2_data)
        modified_data['name'] = 'wake'
        response = self.client.post('/api/v1/benchmark/',
                                    data=json.dumps(modified_data),
                                    content_type='application/json')
        self.assertEquals(response.status_code, 201)
        id = response['Location'].rsplit('/', 2)[-2]
        response = self.client.get('/api/v1/benchmark/{0}/'.format(id))
        for k, v in modified_data.items():
            self.assertEqual(
                json.loads(response.content)[k], v)
        response = self.client.delete('/api/v1/benchmark/{0}/'.format(id),
                                      content_type='application/json')
        self.assertEquals(response.status_code, 204)

    def test_put(self):
        """Should modify an existing benchmark"""
        modified_data = copy.deepcopy(self.benchmark2_data)
        modified_data['name'] = "django"
        response = self.client.put('/api/v1/benchmark/1/',
                                   data=json.dumps(modified_data),
                                   content_type='application/json')
        self.assertEquals(response.status_code, 204)
        response = self.client.get('/api/v1/benchmark/1/')
        for k, v in modified_data.items():
            self.assertEqual(
                json.loads(response.content)[k], v)

    def test_delete(self):
        """Should delete a benchmark"""
        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 200)
        # from fixture
        response = self.client.delete('/api/v1/benchmark/1/',
                                      content_type='application/json')
        self.assertEquals(response.status_code, 204)

        response = self.client.get('/api/v1/benchmark/1/')
        self.assertEquals(response.status_code, 404)