def setUp(self): self.data = { 're_record_interval': 10000, 'match_requests_on': ['method'], 'serialize': 'json' } self.options = Options(self.data)
def test_values_are_validated(self): assert self.options['re_record_interval'] == 10000 assert self.options['match_requests_on'] == ['method'] data = self.data.copy() data['match_requests_on'] = ['foo', 'bar', 'bogus'] options = Options(data) assert options['match_requests_on'] == ['method', 'uri']
def test_invalid_data_is_removed(self): data = self.data.copy() data['fake'] = 'value' options = Options(data) for key in self.data: assert key in options assert 'fake' not in options
def test_raise_on_invalid_serializer(self): data = self.data.copy() data['serialize_with'] = None with pytest.raises(exceptions.SerializerValidationError): Options(data)
def test_raise_on_invalid_record_interval(self): data = self.data.copy() data['re_record_interval'] = -1 with pytest.raises(exceptions.RecordIntervalValidationError): Options(data)
def test_raise_on_invalid_record(self): data = self.data.copy() data['record'] = None with pytest.raises(exceptions.RecordValidationError): Options(data)
def test_raise_on_invalid_playback_repeats(self): data = self.data.copy() data['allow_playback_repeats'] = None with pytest.raises(exceptions.PlaybackRepeatsValidationError): Options(data)
def test_raise_on_invalid_placeholders(self): data = self.data.copy() data['placeholders'] = None with pytest.raises(exceptions.PlaceholdersValidationError): Options(data)
def test_raise_on_invalid_matchers(self): data = self.data.copy() data['match_requests_on'] = ['foo', 'bar', 'bogus'] with pytest.raises(exceptions.MatchersValidationError): Options(data)
def test_raise_on_invalid_body_bytes(self): data = self.data.copy() data['preserve_exact_body_bytes'] = None with pytest.raises(exceptions.BodyBytesValidationError): Options(data)
def test_raise_on_unknown_option(self): data = self.data.copy() data['fake'] = 'value' with pytest.raises(exceptions.InvalidOption): Options(data)