コード例 #1
0
 def test_get_simple_x_200_from_dynamodb(self):
     mock_dynamodb_table.make_table([{
         'package_name': 'z-0.tar.gz',
         'version': '0',
         'normalized_name': 'z',
         'filename': 'z-0.tar.gz'
     }, {
         'package_name': 'y-0.tar.gz',
         'version': '0',
         'normalized_name': 'y',
         'filename': 'y-0.tar.gz'
     }, {
         'package_name': 'x-0.tar.gz',
         'version': '0',
         'normalized_name': 'x',
         'filename': 'x-0.tar.gz'
     }, {
         'package_name': 'x-1.tar.gz',
         'version': '1',
         'normalized_name': 'x',
         'filename': 'x-1.tar.gz'
     }])
     response = self.client.get('/simple/x/', headers=self.headers)
     html = re.sub("href=\"https://.*\"", "href=\"https://\"",
                   response.data)  # Remove signed url since it changes
     self.assert200(response)
     self.assertEqual(html, fixtures.links_html)
コード例 #2
0
 def test_get_simple_x_200_from_dynamodb(self):
     mock_dynamodb_table.make_table([{
         'package_name': 'z-0.tar.gz',
         'version': '0',
         'normalized_name': 'z',
         'filename': 'z-0.tar.gz'
     }, {
         'package_name': 'y-0.tar.gz',
         'version': '0',
         'normalized_name': 'y',
         'filename': 'y-0.tar.gz'
     }, {
         'package_name': 'x-0.tar.gz',
         'version': '0',
         'normalized_name': 'x',
         'filename': 'x-0.tar.gz'
     }, {
         'package_name': 'x-1.tar.gz',
         'version': '1',
         'normalized_name': 'x',
         'filename': 'x-1.tar.gz'
     }])
     response = self.client.get('/simple/x/')
     self.assert200(response)
     self.assertEqual(response.data.decode(), fixtures.links_html)
コード例 #3
0
 def test_post_simple_200(self, upload):
     mock_dynamodb_table.make_table(items=[{
         'package_name': 'py-0.0.1.tar.gz',
         'normalized_name': 'py',
         'version': '0.1.2',
         'filename': 'py-0.0.1.tar.gz',
     }])
     f = io.BytesIO('hello'.encode('utf-8'))
     response = self.client.post('/simple/',
                                 data={'content': (f, 'py-0.1.2.tar.gz')})
     self.assertStatus(response, 200)
     upload.assert_called_with('py-0.1.2.tar.gz', mock.ANY)
     f.close()
コード例 #4
0
 def test_cannot_post_file_when_package_already_exists_and_overwrite_is_false(
         self, upload):
     mock_dynamodb_table.make_table(items=[{
         'package_name': 'py-0.1.2.tar.gz',
         'normalized_name': 'py',
         'version': '0.1.2',
         'filename': 'py-0.1.2.tar.gz',
     }])
     f = io.BytesIO('hello'.encode('utf-8'))
     response = self.client.post('/simple/',
                                 data={'content': (f, 'py-0.1.2.tar.gz')})
     self.assertEqual(response.status_code, 409)
     assert not upload.called
     f.close()
コード例 #5
0
 def test_get_simple_200_from_dynamodb(self):
     mock_dynamodb_table.make_table(items=[{
         'package_name': 'z',
         'version': '0'
     }, {
         'package_name': 'y',
         'version': '0'
     }, {
         'package_name': 'x',
         'version': '0'
     }])
     response = self.client.get('/simple/', headers=self.headers)
     self.assert200(response)
     self.assertEqual(response.data, fixtures.simple_html)
コード例 #6
0
 def test_can_post_file_when_package_exists_and_overwrite_is_true(
         self, config, upload):
     mock_dynamodb_table.make_table(items=[{
         'package_name': 'py-0.1.2.tar.gz',
         'normalized_name': 'py',
         'version': '0.1.2',
         'filename': 'py-0.1.2.tar.gz',
     }])
     config.return_value = {'OVERWRITE': 'true'}
     f = io.BytesIO('hello'.encode('utf-8'))
     response = self.client.post('/simple/',
                                 data={'content': (f, 'py-0.1.2.tar.gz')})
     self.assertStatus(response, 200)
     upload.assert_called_with('py-0.1.2.tar.gz', mock.ANY)
     f.close()
コード例 #7
0
 def test_get_wheel(self):
     mock_dynamodb_table.make_table([{
         'package_name':
         'curses-2.2-cp36-cp36m-win_amd64.whl',
         'version':
         '2.2',
         'normalized_name':
         'curses',
         'filename':
         'curses-2.2-cp36-cp36m-win_amd64.whl'
     }, {
         'package_name': 'y-0.tar.gz',
         'version': '0',
         'normalized_name': 'y',
         'filename': 'y-0.tar.gz'
     }])
     response = self.client.get('/simple/curses/')
     self.assert200(response)
     self.assertEqual(response.data.decode(), fixtures.wheel_links_html)
コード例 #8
0
 def test_get_simple_200_from_dynamodb(self):
     mock_dynamodb_table.make_table(items=[{
         'package_name': 'z.zip',
         'normalized_name': 'z',
         'version': '0'
     }, {
         'package_name': 'y-0.zip',
         'normalized_name': 'y',
         'version': '0'
     }, {
         'package_name': 'y-1.zip',
         'normalized_name': 'y',
         'version': '1'
     }, {
         'package_name': 'x.zip',
         'normalized_name': 'x',
         'version': '0'
     }])
     response = self.client.get('/simple/')
     self.assert200(response)
     self.assertEqual(response.data.decode(), fixtures.simple_html)
コード例 #9
0
 def setUp(self):
     self.dynamodb = boto3.resource('dynamodb', region_name='artic-1')
     self.table = mock_dynamodb_table.make_table()