示例#1
0
    def test_http_error(self, request, exists, makedirs, save_file_locally):
        request.return_value = self.default_response
        request.return_value.status_code = 400

        with self.assertRaises(InvalidRequestError):
            sync_files(arg_namespace('sync'))
        self.assertEqual(len(save_file_locally.mock_calls), 0)
示例#2
0
    def test_http_error(self, request, exists, makedirs, save_file_locally):
        request.return_value = self.default_response
        request.return_value.status_code = 400

        with self.assertRaises(InvalidRequestError):
            sync_files(arg_namespace('sync'))
        self.assertEqual(len(save_file_locally.mock_calls), 0)
示例#3
0
    def test_uuids(self, request, exists, makedirs, save_file_locally):
        uuids = ('e16f669c-ecde-421b-8a0c-f6023d25b1e3',
                 'e16f669c-ecde-421b-8a0c-f6023d25b133')
        request.return_value = MockResponse.from_file('single_file.json')
        exists.return_value = False

        sync_files(arg_namespace('sync --uuids {0}'.format(' '.join(uuids))))
        self.assertEqual(len(save_file_locally.mock_calls), 2)
示例#4
0
    def test_uuids(self, request, exists, makedirs, save_file_locally):
        uuids = ('e16f669c-ecde-421b-8a0c-f6023d25b1e3',
                 'e16f669c-ecde-421b-8a0c-f6023d25b133')
        request.return_value = MockResponse.from_file('single_file.json')
        exists.return_value = False

        sync_files(arg_namespace('sync --uuids {0}'.format(' '.join(uuids))))
        self.assertEqual(len(save_file_locally.mock_calls), 2)
示例#5
0
    def test_file_exists_and_replace_flag(self, request, exists, makedirs,
                                          save_file_locally):
        exists.return_value = True
        request.return_value = self.default_response

        sync_files(arg_namespace('sync'))
        self.assertEqual(len(save_file_locally.mock_calls), 0)

        sync_files(arg_namespace('sync --replace'))
        self.assertEqual(len(save_file_locally.mock_calls), 9)
示例#6
0
    def test_file_exists_and_replace_flag(self, request, exists, makedirs,
                                          save_file_locally):
        exists.return_value = True
        request.return_value = self.default_response

        sync_files(arg_namespace('sync'))
        self.assertEqual(len(save_file_locally.mock_calls), 0)

        sync_files(arg_namespace('sync --replace'))
        self.assertEqual(len(save_file_locally.mock_calls), 9)
示例#7
0
    def test_created_directory_for_upload(self, request, exists, makedirs,
                                          save_file_locally):
        exists.return_value = False
        request.return_value = self.default_response
        makedirs.return_value = None

        diraname = 'diraname'

        sync_files(arg_namespace('sync {0}'.format(diraname)))

        self.assertEqual(len(makedirs.mock_calls), 9)
        self.assertTrue(diraname in makedirs.call_args[0])
示例#8
0
    def test_created_directory_for_upload(self, request, exists, makedirs,
                                          save_file_locally):
        exists.return_value = False
        request.return_value = self.default_response
        makedirs.return_value = None

        diraname = 'diraname'

        sync_files(arg_namespace('sync {0}'.format(diraname)))

        self.assertEqual(len(makedirs.mock_calls), 9)
        self.assertTrue(diraname in makedirs.call_args[0])
示例#9
0
    def test_patterns_works(self, request, exists, makedirs,
                            save_file_locally):
        exists.return_value = False
        response = request.return_value = self.default_response

        sync_files(arg_namespace("sync ${uuid}${ext}"))

        self.assertEqual(len(save_file_locally.mock_calls), 9)

        expected_filenames = sorted('{0}{1}'.format(
            a['uuid'], os.path.splitext(a['original_filename'])[-1].lower()
        ) for a in response.json()['results'])

        filenames = sorted(b[1][0] for b in save_file_locally.mock_calls)

        self.assertListEqual(expected_filenames, filenames)
示例#10
0
    def test_patterns_works(self, request, exists, makedirs,
                            save_file_locally):
        exists.return_value = False
        response = request.return_value = self.default_response

        sync_files(arg_namespace("sync ${uuid}${ext}"))

        self.assertEqual(len(save_file_locally.mock_calls), 9)

        expected_filenames = sorted('{0}{1}'.format(
            a['uuid'], os.path.splitext(a['original_filename'])[-1].lower()
        ) for a in response.json()['results'])

        filenames = sorted(b[1][0] for b in save_file_locally.mock_calls)

        self.assertListEqual(expected_filenames, filenames)
示例#11
0
    def test_effects_works(self, get, request, exists, makedirs,
                           save_file_locally):
        exists.return_value = False
        response = request.return_value = self.default_response
        effects = "-/resize/200x200/"
        not_image_uuid = 'a4a79b35-01ed-4e83-ad5c-6bf155a31ed5'

        sync_files(arg_namespace("sync --effects={0}".format(effects)))

        self.assertEqual(save_file_locally.call_count, 9)
        self.assertEqual(get.call_count, 9)

        for call in get.call_args_list:
            url = call[0][1]

            # Check that effects don't applied on non-image
            if not_image_uuid in url:
                self.assertFalse(url.endswith(effects))

            # And applied on images
            else:
                self.assertTrue(url.endswith(effects))
                self.assertTrue('/-/-/' not in url)
示例#12
0
    def test_effects_works(self, get, request, exists, makedirs,
                           save_file_locally):
        exists.return_value = False
        response = request.return_value = self.default_response
        effects = "-/resize/200x200/"
        not_image_uuid = 'a4a79b35-01ed-4e83-ad5c-6bf155a31ed5'

        sync_files(arg_namespace("sync --effects={0}".format(effects)))

        self.assertEqual(save_file_locally.call_count, 9)
        self.assertEqual(get.call_count, 9)

        for call in get.call_args_list:
            url = call[0][1]

            # Check that effects don't applied on non-image
            if not_image_uuid in url:
                self.assertFalse(url.endswith(effects))

            # And applied on images
            else:
                self.assertTrue(url.endswith(effects))
                self.assertTrue('/-/-/' not in url)