def testUnzipValidate(self): un = files.Unzip('String', None) self.assertRaises(files.ValidationError, un.Validate) un = files.Unzip([1, 2, 3], None) self.assertRaises(files.ValidationError, un.Validate) un = files.Unzip([1, '/tmp/out/path'], None) self.assertRaises(files.ValidationError, un.Validate) un = files.Unzip(['/tmp/src.zip', 2], None) self.assertRaises(files.ValidationError, un.Validate) un = files.Unzip(['/tmp/src.zip', '/tmp/out/path'], None) un.Validate()
def testUnzip(self, build_info, create_dir): src = '/tmp/input.zip' dst = '/out/dir/path' # bad args un = files.Unzip([], build_info) self.assertRaises(files.ActionError, un.Run) un = files.Unzip([src], build_info) self.assertRaises(files.ActionError, un.Run) # bad path un = files.Unzip([src, dst], build_info) self.assertRaises(files.ActionError, un.Run) # create error create_dir.side_effect = files.file_util.Error self.assertRaises(files.ActionError, un.Run) # good create_dir.side_effect = None with mock.patch.object(files.zipfile, 'ZipFile', autospec=True) as z: un = files.Unzip([src, dst], build_info) un.Run() z.assert_called_with(src) z.return_value.extractall.assert_called_with(dst) create_dir.assert_called_with(dst)