def test_enum_type_substitution(self):
    self.assertSchemaCloned(schema.enum(1, 2, 3), 1)

    true_of_false = schema.enum('true', 'false')
    value = 'true'
    self.assertIsInstance(true_of_false % value, schema.types.String)
    self.assertSchemaHasValue(true_of_false % value, value)
  def test_it_validates_enumerators(self):
    self.assertValidationPasses('banana', schema.enum('banana', 'cucumber'))
    self.assertValidationPasses(None,     schema.enum(None, False, 0, ''))

    self.assertValidationFails('carrot', schema.enum('banana', 'cucumber'))
    self.assertValidationFails(0,        schema.enum(*range(1, 10)))
    self.assertValidationFails(False,    schema.enum(0, 1))
Exemple #3
0
    def test_it_validates_enumerators(self):
        self.assertValidationPasses('banana',
                                    schema.enum('banana', 'cucumber'))
        self.assertValidationPasses(None, schema.enum(None, False, 0, ''))

        self.assertValidationFails('carrot', schema.enum('banana', 'cucumber'))
        self.assertValidationFails(0, schema.enum(*range(1, 10)))
        self.assertValidationFails(False, schema.enum(0, 1))
  def test_enum_type_generator(self):
    # enumerators
    enumerators = (1, 2, 3)
    data = fake(schema.enum(*enumerators))
    self.assertIn(data, enumerators)

    enumerators = ('banana', 'cucumber')
    data = fake(schema.enum(*enumerators))
    self.assertIn(data, enumerators)

    # overriding
    data = fake(schema.enum('true', 'false', True, False), 'true')
    self.assertEqual(data, 'true')
  def test_it_validates_nullable(self):
    self.assertValidationPasses(None, schema.enum('banana', 'cucumber').nullable)
    self.assertValidationPasses(None, schema.enum(None, False, 0, '').nullable)

    self.assertValidationFails(False, schema.enum('true', 'false').nullable)
    self.assertValidationFails(0,     schema.enum('true', 'false').nullable)
    self.assertValidationFails('',    schema.enum('true', 'false').nullable)
    self.assertValidationFails([],    schema.enum('true', 'false').nullable)
    self.assertValidationFails({},    schema.enum('true', 'false').nullable)
Exemple #6
0
    def test_it_validates_null_type(self):
        self.assertValidationPasses(None,
                                    schema.enum('banana', 'cucumber', None))
        self.assertValidationPasses(None, schema.enum(None, False, 0, ''))

        self.assertValidationFails(False, schema.enum('true', 'false', None))
        self.assertValidationFails(0, schema.enum('true', 'false', None))
        self.assertValidationFails('', schema.enum('true', 'false', None))
        self.assertValidationFails([], schema.enum('true', 'false', None))
        self.assertValidationFails({}, schema.enum('true', 'false', None))
Exemple #7
0
    def test_it_validates_nullable(self):
        with warnings.catch_warnings():
            warnings.simplefilter('ignore')

            self.assertValidationPasses(
                None,
                schema.enum('banana', 'cucumber').nullable)
            self.assertValidationPasses(
                None,
                schema.enum(None, False, 0, '').nullable)

            self.assertValidationFails(False,
                                       schema.enum('true', 'false').nullable)
            self.assertValidationFails(0,
                                       schema.enum('true', 'false').nullable)
            self.assertValidationFails('',
                                       schema.enum('true', 'false').nullable)
            self.assertValidationFails([],
                                       schema.enum('true', 'false').nullable)
            self.assertValidationFails({},
                                       schema.enum('true', 'false').nullable)
 def test_enum_type_representation(self):
   self.assertRepr(schema.enum(1, 2, 3),       'schema.enum(1, 2, 3)')
   self.assertRepr(schema.enum('a', 'b', 'c'), "schema.enum('a', 'b', 'c')")
   self.assertRepr(schema.enum(0, 1).nullable, 'schema.enum(0, 1).nullable')