def test___getattr__(self): s = Schema("foo") with self.assertRaises(AttributeError): s.foo s.set_field("foo", Field(int, True)) self.assertTrue(isinstance(s.foo, Field))
def test_set_index(self): s = Schema("foo") s.set_field("bar", Field(int, True)) s.set_field("che", Field(str)) with self.assertRaises(ValueError): s.set_index("foo", Index()) with self.assertRaises(ValueError): s.set_index("", Index("bar", "che")) s.set_index("bar_che", Index("che", "bar")) with self.assertRaises(ValueError): s.set_index("bar_che", Index("che", "bar")) s.set_index("testing", Index("che", unique=True)) self.assertTrue(s.indexes["testing"].unique)
def test_set_field(self): s = Schema("foo") with self.assertRaises(ValueError): s.set_field("", int) with self.assertRaises(ValueError): s.set_field("foo", "bogus") s.set_field("foo", Field(int)) with self.assertRaises(ValueError): s.set_field("foo", int) s = Schema("foo") s.set_field("foo", Field(int, unique=True)) self.assertTrue("foo" in s.fields) self.assertTrue("foo" in s.indexes) s = Schema("foo") s.set_field("foo", Field(int, ignore_case=True)) self.assertTrue(s.foo.options["ignore_case"])