Exemplo n.º 1
0
 def parse(self, value):
     return Mask(value)
Exemplo n.º 2
0
 def test_support_dash(self):
     assert Mask('field-name') == {'field-name': True}
Exemplo n.º 3
0
 def test_support_underscore(self):
     assert Mask('field_name') == {'field_name': True}
Exemplo n.º 4
0
 def test_unexpected_closing_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('{field}}')
Exemplo n.º 5
0
 def test_support_colons(self):
     assert Mask('field:name') == {'field:name': True}
Exemplo n.º 6
0
 def test_one_field(self):
     assert Mask('field_name') == {'field_name': True}
 def test_support_colons(self):
     self.assertEqual(Mask('field:name'), {'field:name': True})
 def test_consecutive_coma(self):
     with self.assertRaises(mask.ParseError):
         Mask('field,,')
 def test_coma_before_bracket(self):
     with self.assertRaises(mask.ParseError):
         Mask('field,{}')
 def test_one_field(self):
     self.assertEqual(Mask('field_name'), {'field_name': True})
 def test_missing_closing_bracket(self):
     with self.assertRaises(mask.ParseError):
         Mask('nested{')
 def test_empty_mask(self):
     self.assertEqual(Mask(''), {})
 def test_support_underscore(self):
     self.assertEqual(Mask('field_name'), {'field_name': True})
 def test_support_dash(self):
     self.assertEqual(Mask('field-name'), {'field-name': True})
Exemplo n.º 15
0
 def parse(self, value):
     return Mask('{' + value + '}')
 def test_coma_after_bracket(self):
     with self.assertRaises(mask.ParseError):
         Mask('nested{,}')
Exemplo n.º 17
0
 def test_empty_mask(self):
     assert Mask('') == {}
 def test_unexpected_closing_bracket(self):
     with self.assertRaises(mask.ParseError):
         Mask('{field}}')
Exemplo n.º 19
0
 def test_missing_closing_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('nested{')
Exemplo n.º 20
0
platform_group = Model(
    "Platform Group",
    {
        "id": fields.Integer,
        "name": fields.String,
        "platforms": fields.List(fields.Nested(platform_base)),
    },
    mask="id,name,platforms{id,type,slug,name,country}",
)

platform = platform_base.clone(
    "Platform", {"group": fields.Nested(platform_group, allow_null=True)}
)

# It works, alright?
platform.__mask__ = Mask("id,type,slug,name,country,group{id,name}")


scrap = Model(
    "Scrap",
    {
        "id": fields.Integer,
        "date": fields.DateTime,
        "status": fields.String(choice=[str(s) for s in ScrapStatus]),
        "platform": fields.Nested(platform),
        "stats": fields.Raw(),
    },
    mask="id,date,status,platform{id,name,slug}",
)