Esempio n. 1
0
 def test_build_output_name(self):
     storage = FileStorageBuilder().build()
     output = ComplexOutput('testme',
                            'Test',
                            supported_formats=[FORMATS.TEXT],
                            workdir=self.tmp_dir)
     output.data = "Hello World!"
     output_name, suffix = _build_output_name(output)
     self.assertEqual(output.file, self.tmp_dir + '/input.txt')
     self.assertEqual(output_name, 'input.txt')
     self.assertEqual(suffix, '.txt')
Esempio n. 2
0
    def test_write(self):
        configuration.CONFIG.set('server', 'outputpath', self.tmp_dir)
        configuration.CONFIG.set('server', 'outputurl',
                                 'file://' + self.tmp_dir)
        storage = FileStorageBuilder().build()
        output = ComplexOutput('testme',
                               'Test',
                               supported_formats=[FORMATS.TEXT],
                               workdir=self.tmp_dir)
        output.data = "Hello World!"
        url = storage.write(output.data, 'foo.txt')

        self.assertEqual(url, 'file://' + self.tmp_dir + '/foo.txt')
        with open(self.tmp_dir + '/foo.txt') as f:
            self.assertEqual(f.read(), "Hello World!")
Esempio n. 3
0
    def test_store(self):
        configuration.CONFIG.set('server', 'outputpath', self.tmp_dir)
        storage = FileStorageBuilder().build()
        output = ComplexOutput('testme',
                               'Test',
                               supported_formats=[FORMATS.TEXT],
                               workdir=self.tmp_dir)
        output.data = "Hello World!"
        store_type, store_str, url = storage.store(output)

        self.assertEqual(store_type, STORE_TYPE.PATH)
        self.assertEqual(store_str, 'input.txt')

        with open(self.tmp_dir + '/' + store_str) as f:
            self.assertEqual(f.read(), "Hello World!")
Esempio n. 4
0
    def test_store(self, uploadData):
        configuration.CONFIG.set('s3', 'bucket', 'notrealbucket')
        configuration.CONFIG.set('s3', 'prefix', 'wps')
        storage = S3StorageBuilder().build()
        output = ComplexOutput('testme', 'Test', supported_formats=[FORMATS.TEXT], workdir=self.tmp_dir)
        output.data = "Hello World!"

        store_type, filename, url = storage.store(output)

        called_args = uploadData.call_args[0]

        self.assertEqual(store_type, STORE_TYPE.S3)
        self.assertEqual(filename, 'wps/input.txt')

        self.assertEqual(uploadData.call_count, 1)
        self.assertEqual(called_args[1], 'wps/input.txt')
        self.assertEqual(called_args[2], {'ContentType': 'text/plain'})
Esempio n. 5
0
    def test_url(self):
        configuration.CONFIG.set('server', 'outputpath', self.tmp_dir)
        configuration.CONFIG.set('server', 'outputurl',
                                 'file://' + self.tmp_dir)
        storage = FileStorageBuilder().build()
        output = ComplexOutput('testme',
                               'Test',
                               supported_formats=[FORMATS.TEXT],
                               workdir=self.tmp_dir)
        output.data = "Hello World!"
        url = storage.url(output)

        self.assertEqual('file://' + self.tmp_dir + '/input.txt', url)

        file_name = 'test.txt'
        url = storage.url(file_name)

        self.assertEqual('file://' + self.tmp_dir + '/test.txt', url)