コード例 #1
0
    def test_validation(self):
        data_list = [
            {"name": "bob",
             "age": a,
             "id": a
             } for a in range(100)
            ]

        store = PythonListDataStore(data_list, ApiModel)

        self.assertEqual(store.validate({"name": "bob", "age": 34}), None)
        self.assertRaises(BadRequest, store.validate, "a test")
        self.assertRaises(BadRequest,
                          store.validate,
                          {"name": "bob", "age": "34"})
        self.assertRaises(BadRequest,
                          store.validate_fields,
                          {"age": "34"})
        self.assertRaises(BadRequest,
                          store.validate_fields,
                          "age")
        data_list = []

        class OtherModel(models.Model):
            fields = [models.TimestampField(name="timestamp",
                                                 required=True),
                      models.PkField(name="id")
                      ]

        store = PythonListDataStore(data_list, OtherModel)
        self.assertRaises(BadRequest,
                          store.validate_fields,
                          {"timestamp": 2345})
コード例 #2
0
    def test_validator(self):
        from rest_api_framework.datastore.validators import UniqueTogether

        data_list = [
            {"name": "bob",
             "age": a,
             "id": a
             } for a in range(100)
            ]

        store = PythonListDataStore(
            data_list,
            ApiModel,
            validators=[UniqueTogether("age", "name")]
            )

        self.assertEqual(store.validate({"name": "bob", "age": 209}), None)
        self.assertRaises(BadRequest,
                          store.validate,
                          {"name": "bob", "age": 20})

        self.assertRaises(
            BadRequest,
            store.update,
            {"name": "bob", "age": 34, "id": 34},
            {"age": 20})

        store = SQLiteDataStore(
            {"name": "test.db", "table": "address"},
            ApiModel,
            validators=[UniqueTogether("age", "name")]
            )

        for i in range(100):
            store.create({"name": "bob", "age": i+1})

        self.assertEqual(store.validate({"name": "bob", "age": 209}), None)
        self.assertRaises(BadRequest,
                          store.validate,
                          {"name": "bob", "age": 20})
        os.remove("test.db")
コード例 #3
0
    def test_validator(self):
        from rest_api_framework.datastore.validators import UniqueTogether

        data_list = [{"name": "bob", "age": a, "id": a} for a in range(100)]

        store = PythonListDataStore(data_list,
                                    ApiModel,
                                    validators=[UniqueTogether("age", "name")])

        self.assertEqual(store.validate({"name": "bob", "age": 209}), None)
        self.assertRaises(BadRequest, store.validate, {
            "name": "bob",
            "age": 20
        })

        self.assertRaises(BadRequest, store.update, {
            "name": "bob",
            "age": 34,
            "id": 34
        }, {"age": 20})

        store = SQLiteDataStore({
            "name": "test.db",
            "table": "address"
        },
                                ApiModel,
                                validators=[UniqueTogether("age", "name")])

        for i in range(100):
            store.create({"name": "bob", "age": i + 1})

        self.assertEqual(store.validate({"name": "bob", "age": 209}), None)
        self.assertRaises(BadRequest, store.validate, {
            "name": "bob",
            "age": 20
        })
        os.remove("test.db")
コード例 #4
0
    def test_validation(self):
        data_list = [{"name": "bob", "age": a, "id": a} for a in range(100)]

        store = PythonListDataStore(data_list, ApiModel)

        self.assertEqual(store.validate({"name": "bob", "age": 34}), None)
        self.assertRaises(BadRequest, store.validate, "a test")
        self.assertRaises(BadRequest, store.validate, {
            "name": "bob",
            "age": "34"
        })
        self.assertRaises(BadRequest, store.validate_fields, {"age": "34"})
        self.assertRaises(BadRequest, store.validate_fields, "age")
        data_list = []

        class OtherModel(models.Model):
            fields = [
                models.TimestampField(name="timestamp", required=True),
                models.PkField(name="id")
            ]

        store = PythonListDataStore(data_list, OtherModel)
        self.assertRaises(BadRequest, store.validate_fields,
                          {"timestamp": 2345})