def test_it_does_not_break(self, cells, method, parameter): self.post['cells'] = cells self.post['method'] = method self.post['parameter'] = parameter response = self.client.post( reverse('honeycomb_api'), make_json(self.post), content_type='application/octet-stream' ) try: self.assertEqual(response.status_code, 200) except AssertionError: self.assertEqual(response.status_code, 400) content = read_json(response.content) self.assertEqual(len(content), 1) self.assertIn('error', content) else: content = read_json(response.content) self.assertEqual(len(content), 1) self.assertIn('cells', content) self.assertEqual(len(content['cells']), len(cells)) for key, cell in enumerate(content['cells']): self.assertEqual(len(cell), 3) self.assertEqual(cell[0], cells[key][0]) self.assertEqual(cell[1], cells[key][1]) self.assertGreaterEqual(cell[2], -1) self.assertLessEqual(cell[2], 1)
def get(self, request): """ Renders the landing page. """ languages = Language.objects.filter(latitude__isnull=False, longitude__isnull=False) context = { 'languages': make_json([lang.to_dict() for lang in languages]) } return render(request, 'js_tests.html', context)
def get(self, request): """ Renders the landing page. """ languages = Language.objects.filter(latitude__isnull=False, longitude__isnull=False) context = { 'languages': make_json([lang.to_dict() for lang in languages]), 'OSM_ACCESS_TOKEN': settings.OSM_ACCESS_TOKEN, 'OSM_ID': settings.OSM_ID } return render(request, 'landing.html', context)
def _upload_file(self): """ Hack around Selenium's inability to process our invisible input. """ with open('app/fixtures/berg.tsv', 'r') as f: lines = make_json(f.readlines()) self.se.execute_script(( 'var berg = new File('+ lines +', "berg.tsv"); ' 'var c = app.controllers.getMainController(); ' 'c.uploadFile(berg); ' 'c.fileInput.setSource("berg.tsv"); ' )) time.sleep(1)
def test_it_does_not_break(self, latitude, longitude, method, parameter): self.post['latitude'] = latitude self.post['longitude'] = longitude self.post['method'] = method self.post['parameter'] = parameter response = self.client.post(reverse('point_api'), make_json(self.post), content_type='application/octet-stream') try: self.assertEqual(response.status_code, 200) except AssertionError: self.assertEqual(response.status_code, 400) content = read_json(response.content) self.assertEqual(len(content), 1) self.assertIn('error', content)
def test_good_circle(self): response = self.client.post( reverse('honeycomb_api'), make_json(self.post), content_type='application/octet-stream' ) self.assertEqual(response.status_code, 200) content = read_json(response.content) self.assertEqual(len(content), 1) self.assertIn('cells', content) self.assertEqual(len(content['cells']), len(self.post['cells'])) for key, cell in enumerate(content['cells']): self.assertEqual(len(cell), 3) self.assertEqual(cell[0], self.post['cells'][key][0]) self.assertEqual(cell[1], self.post['cells'][key][1]) self.assertGreaterEqual(cell[2], -1) self.assertLessEqual(cell[2], 1)
def test_good_neighbourhood(self): self.post['method'] = 'neighbourhood' self.post['parameter'] = 4 response = self.client.post(reverse('point_api'), make_json(self.post), content_type='application/octet-stream') self.assertEqual(response.status_code, 200) content = read_json(response.content) self.assertEqual(len(content), 3) self.assertIn('origin', content) self.assertIn('d', content) self.assertIn('p', content) self.assertEqual(content['origin'], 'ab') self.assertEqual(len(content['d']), 4) self.assertIn('os', content['d']) self.assertIn('ka', content['d']) self.assertIn('ady', content['d']) self.assertIn('ddo', content['d'])
def test_good_circle(self): response = self.client.post(reverse('point_api'), make_json(self.post), content_type='application/octet-stream') self.assertEqual(response.status_code, 200) content = read_json(response.content) self.assertEqual(len(content), 2) self.assertIn('d', content) self.assertIn('p', content) lang = ('ab', 'os', 'ka', 'ady', 'ddo', 'ce', 'hy', 'dar') for i in lang: for j in lang: if i == j: continue key = [i, j] key.sort() key = key[0] + ',' + key[1] self.assertIn(key, content['d']) self.assertEqual(len(content['d']), 8 * 7 / 2) self.assertLessEqual(content['p'], 1) self.assertGreaterEqual(content['p'], -1)