def test_missing_ring_location(self): conf = self._format_config(''' [ring:test] sproxyd_endpoints = http://localhost ''') utils.assertRaisesRegexp( ConfigurationError, '''Section 'ring:test' lacks a 'location' setting''', Configuration.from_stream, conf)
def test_non_int_storage_policy_index(self): conf = self._format_config(''' [storage-policy:test] read = write = test ''') utils.assertRaisesRegexp(ConfigurationError, 'Invalid policy index: \'test\'', Configuration.from_stream, conf)
def test_empty_storage_policy_index(self): conf = self._format_config(''' [storage-policy:] read = write = test ''') utils.assertRaisesRegexp(ConfigurationError, 'Invalid section name \'storage-policy:\'', Configuration.from_stream, conf)
def test_missing_ring_sproxyd_endpoints(self): conf = self._format_config(''' [ring:test] location = paris ''') utils.assertRaisesRegexp( ConfigurationError, '''Section 'ring:test' lacks a 'sproxyd_endpoints' setting''', Configuration.from_stream, conf)
def test_missing_ring_name(self): conf = self._format_config(''' [ring:] location = test sproxyd_endpoints = http://localhost ''') utils.assertRaisesRegexp(ConfigurationError, 'Invalid section name \'ring:\'', Configuration.from_stream, conf)
def test_empty_ring_sproxyd_endpoints(self): conf = self._format_config(''' [ring:test] location = test sproxyd_endpoints = ''') utils.assertRaisesRegexp( ConfigurationError, 'Invalid \'sproxyd_endpoints\' setting in \'ring:test\'', Configuration.from_stream, conf)
def test_missing_ring_name(self): conf = self._format_config(''' [ring:] location = test sproxyd_endpoints = http://localhost ''') utils.assertRaisesRegexp( ConfigurationError, 'Invalid section name \'ring:\'', Configuration.from_stream, conf)
def test_empty_storage_policy_index(self): conf = self._format_config(''' [storage-policy:] read = write = test ''') utils.assertRaisesRegexp( ConfigurationError, 'Invalid section name \'storage-policy:\'', Configuration.from_stream, conf)
def test_non_int_storage_policy_index(self): conf = self._format_config(''' [storage-policy:test] read = write = test ''') utils.assertRaisesRegexp( ConfigurationError, 'Invalid policy index: \'test\'', Configuration.from_stream, conf)
def test_invalid_ring_sproxyd_endpoint(self): conf = self._format_config(''' [ring:test] location = paris sproxyd_endpoints = http://localhost, http://otherhost/?a=b ''') utils.assertRaisesRegexp( ConfigurationError, 'Error parsing endpoint \'http://otherhost/\?a=b\' in ' '\'ring:test\': Endpoint URL can\'t have query values', Configuration.from_stream, conf)
def test_unknown_read_ring_in_storage_policy(self): conf = self._format_config(''' [ring:test1] location = paris sproxyd_endpoints = http://localhost [storage-policy:1] read = test2 write = test1 ''') utils.assertRaisesRegexp( ConfigurationError, 'Unknown \'read\' ring \'test2\' in policy 1', Configuration.from_stream, conf)
def test_multiple_write_rings_in_storage_policy(self): conf = self._format_config(''' [ring:test1] location = paris sproxyd_endpoints = http://paris [ring:test2] location = london sproxyd_endpoints = http://london [storage-policy:1] read = write = test1, test2 ''') utils.assertRaisesRegexp( ConfigurationError, 'Multiple \'write\' rings defined in \'storage-policy:1\'', Configuration.from_stream, conf)
def test_reject_fragment(self): utils.assertRaisesRegexp( ValueError, r'Endpoint URL can\'t have a fragment', Endpoint, 'http://localhost/#fragment')
def test_reject_query(self): utils.assertRaisesRegexp( ValueError, r'Endpoint URL can\'t have query values', Endpoint, 'http://localhost/?query')
def test_reject_params(self): utils.assertRaisesRegexp( ValueError, r'Endpoint URL can\'t have params', Endpoint, 'http://localhost/;param')
def test_reject_fragment(self): utils.assertRaisesRegexp(ValueError, r'Endpoint URL can\'t have a fragment', Endpoint, 'http://localhost/#fragment')
def test_reject_query(self): utils.assertRaisesRegexp(ValueError, r'Endpoint URL can\'t have query values', Endpoint, 'http://localhost/?query')
def test_reject_params(self): utils.assertRaisesRegexp(ValueError, r'Endpoint URL can\'t have params', Endpoint, 'http://localhost/;param')