示例#1
0
	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)
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
	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)
示例#5
0
    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)
示例#6
0
	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)
示例#7
0
    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'])
示例#8
0
    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)