Esempio n. 1
0
 def test_get_records_by_key(self):
     playbook = factories.PlaybookFactory()
     record = factories.RecordFactory(playbook=playbook, key="by_key")
     factories.RecordFactory(key="another_record")
     request = self.client.get("/api/v1/records?key=%s" % record.key)
     self.assertEqual(2, models.Record.objects.all().count())
     self.assertEqual(1, len(request.data["results"]))
     self.assertEqual(record.key, request.data["results"][0]["key"])
     self.assertEqual(record.playbook.id,
                      request.data["results"][0]["playbook"])
Esempio n. 2
0
 def test_partial_update_record(self):
     record = factories.RecordFactory()
     self.assertNotEqual("update", record.key)
     request = self.client.patch("/api/v1/records/%s" % record.id,
                                 {"key": "update"})
     self.assertEqual(200, request.status_code)
     record_updated = models.Record.objects.get(id=record.id)
     self.assertEqual("update", record_updated.key)
Esempio n. 3
0
    def test_get_record_order(self):
        first_record = factories.RecordFactory(key="alpha")
        second_record = factories.RecordFactory(key="beta")

        # Ensure we have two objects
        request = self.client.get("/api/v1/records")
        self.assertEqual(2, len(request.data["results"]))

        order_fields = ["id", "created", "updated", "key"]
        # Ascending order
        for field in order_fields:
            request = self.client.get("/api/v1/records?order=%s" % field)
            self.assertEqual(request.data["results"][0]["id"], first_record.id)

        # Descending order
        for field in order_fields:
            request = self.client.get("/api/v1/records?order=-%s" % field)
            self.assertEqual(request.data["results"][0]["id"],
                             second_record.id)
Esempio n. 4
0
    def test_get_record_by_date(self):
        record = factories.RecordFactory()

        past = datetime.datetime.now() - datetime.timedelta(hours=12)
        negative_date_fields = ["created_before", "updated_before"]
        positive_date_fields = ["created_after", "updated_after"]

        # Expect no record when searching before it was created
        for field in negative_date_fields:
            request = self.client.get("/api/v1/records?%s=%s" %
                                      (field, past.isoformat()))
            self.assertEqual(request.data["count"], 0)

        # Expect a record when searching after it was created
        for field in positive_date_fields:
            request = self.client.get("/api/v1/records?%s=%s" %
                                      (field, past.isoformat()))
            self.assertEqual(request.data["count"], 1)
            self.assertEqual(request.data["results"][0]["id"], record.id)
Esempio n. 5
0
 def test_delete_record(self):
     record = factories.RecordFactory()
     self.assertEqual(1, models.Record.objects.all().count())
     request = self.client.delete("/api/v1/records/%s" % record.id)
     self.assertEqual(204, request.status_code)
     self.assertEqual(0, models.Record.objects.all().count())
Esempio n. 6
0
 def test_get_record(self):
     record = factories.RecordFactory()
     request = self.client.get("/api/v1/records")
     self.assertEqual(1, len(request.data["results"]))
     self.assertEqual(record.key, request.data["results"][0]["key"])
Esempio n. 7
0
 def test_record_factory(self):
     record = factories.RecordFactory(key="test")
     self.assertEqual(record.key, "test")
Esempio n. 8
0
 def test_get_playbook_arguments(self):
     record = factories.RecordFactory()
     request = self.client.get("/api/v1/records/%s" % record.id)
     self.assertIn("inventory", request.data["playbook"]["arguments"])