Beispiel #1
0
 def test_min_max_size(self):
     message = reaction_pb2.Data(value='test_value')
     with self.assertRaisesRegex(ValueError, 'must be less than or equal'):
         data_storage.write_data(message,
                                 self.test_subdirectory,
                                 min_size=2.0,
                                 max_size=1.0)
Beispiel #2
0
 def test_bytes_value(self):
     message = reaction_pb2.Data(bytes_value=b'test value')
     filename = data_storage.write_data(message, self.test_subdirectory)
     expected = os.path.join(
         self.test_subdirectory, 'ord_data-'
         '47d1d8273710fd6f6a5995fac1a0983fe0e8828c288e35e80450ddc5c4412def'
         '.txt')
     self.assertEqual(filename, expected)
     with open(filename, 'rb') as f:
         self.assertEqual(message.bytes_value, f.read())
Beispiel #3
0
 def test_data(self):
     message = reaction_pb2.Data()
     with self.assertRaisesRegex(validations.ValidationError,
                                 'requires one of'):
         self._run_validation(message)
     message.bytes_value = b'test data'
     with self.assertRaisesRegex(validations.ValidationError,
                                 'format is required'):
         self._run_validation(message)
     message.string_value = 'test data'
     self.assertEmpty(self._run_validation(message))
Beispiel #4
0
 def test_string_value(self):
     message = reaction_pb2.Data(value='test value')
     filename = data_storage.write_data(message, self.test_subdirectory)
     expected = os.path.join(
         self.test_subdirectory, 'ord_data-'
         '47d1d8273710fd6f6a5995fac1a0983fe0e8828c288e35e80450ddc5c4412def'
         '.txt')
     self.assertEqual(filename, expected)
     # NOTE(kearnes): Open with 'r' to get the decoded string.
     with open(filename, 'r') as f:
         self.assertEqual(message.value, f.read())
Beispiel #5
0
def build_data(filename, description):
    """Reads raw data from a file and creates a Data message.

    Args:
        filename: Text filename.
        description: Text description of the data.

    Returns:
        Data message.
    """
    _, extension = os.path.splitext(filename)
    if not extension.startswith('.'):
        raise ValueError(f'cannot deduce the file format for {filename}')
    data = reaction_pb2.Data()
    data.format = extension[1:]
    with open(filename, 'rb') as f:
        data.bytes_value = f.read()
    data.description = description
    return data
Beispiel #6
0
 def test_max_size(self):
     message = reaction_pb2.Data(value='test value')
     with self.assertRaisesRegex(ValueError, 'larger than max_size'):
         data_storage.write_data(message,
                                 self.test_subdirectory,
                                 max_size=1e-6)
Beispiel #7
0
 def test_min_size(self):
     message = reaction_pb2.Data(value='test_value')
     self.assertIsNone(
         data_storage.write_data(message,
                                 self.test_subdirectory,
                                 min_size=1.0))
Beispiel #8
0
 def test_missing_value(self):
     message = reaction_pb2.Data()
     with self.assertRaisesRegex(ValueError, 'no value to write'):
         data_storage.write_data(message, self.test_subdirectory)
Beispiel #9
0
 def test_url_value(self):
     message = reaction_pb2.Data(url='test value')
     self.assertIsNone(
         data_storage.write_data(message, self.test_subdirectory))
Beispiel #10
0
 def test_min_size(self):
     message = reaction_pb2.Data(string_value='test_value')
     filename, _ = data_storage.write_data(message,
                                           self.test_subdirectory,
                                           min_size=1.0)
     self.assertIsNone(filename)