예제 #1
0
    def test_file_cache_proxy_integration(self, debug=False):
        with bear_test_module(), \
                prepare_file(['disk-copy\n'], None) as (_, filename):

            memory_data = 'in-memory\n'
            proxy = FileProxy(filename, None, memory_data)
            proxymap = FileProxyMap([proxy])
            self.cache.set_proxymap(proxymap)

            results, exitcode, file_dicts = run_coala(
                console_printer=ConsolePrinter(),
                log_printer=LogPrinter(),
                arg_list=(
                    '-c',
                    os.devnull,
                    '-f',
                    filename,
                    '-b',
                    'TestBear',
                ),
                autoapply=False,
                debug=debug,
                cache=self.cache)

            self.assertEqual(exitcode, 0)
            self.assertEqual(len(results), 1)

            # run_coala() output's name is always lower case
            self.assertEqual(file_dicts['cli'][filename.lower()],
                             (memory_data, ))
예제 #2
0
    def test_get_file_dict_unicode_error(self):
        with make_temp() as filename:
            with open(filename, 'wb') as file:
                file.write(bytearray([120, 3, 255, 0, 100]))

            self.cache.set_proxymap(FileProxyMap())
            file_dict = self.cache.get_file_dict([filename])

            self.assertEqual(len(file_dict), 0)

            self.cache.set_proxymap(FileProxyMap())
            file_dict = self.cache.get_file_dict([filename],
                                                 allow_raw_files=True)

            self.assertEqual(len(file_dict), 1)
            self.assertIn(filename, file_dict)
예제 #3
0
    def test_get_file_dict_with_proxy_map(self):
        with prepare_file([], None) as (_, file):
            proxy = FileProxy(file, None, 'coala\n')
            proxymap = FileProxyMap([proxy])
            self.cache.set_proxymap(proxymap)

            file_dict = self.cache.get_file_dict([file])
            self.assertEqual(file_dict, {file: ('coala\n', )})
예제 #4
0
    def test_get_file_dict_file_not_found(self):
        self.cache.set_proxymap(FileProxyMap())

        file_dict = self.cache.get_file_dict(['nofile.pycoala'])
        self.assertEqual(len(file_dict), 0)
예제 #5
0
 def empty_proxymap(self):
     return FileProxyMap()