Exemplo n.º 1
0
def update_brew(event: dict, context, service=None):
    if not service:
        service = make_brew_service()
    try:
        brew = BrewRemote.from_json(event["body"])
    except (ValueError, JSONDecodeError, KeyError) as e:
        return handle_error(e)
    service.put(brew)
    return {"statusCode": 200}
Exemplo n.º 2
0
    def test_brew(self):
        incoming = json.dumps({
            "name":
            "brew1",
            "id":
            "1",
            "remote_id":
            "d2e85707-9fcf-4ff3-9d1b-bdb2419da674",
            "active":
            True,
            "stages": [{
                "start_time": "2021-05-15T19:30:54.100701",
                "stage_name": "FERMENTING",
                "estimated_end_time": "2021-05-22T19:30:54.100701"
            }]
        })
        b = BrewRemote.from_json(incoming)
        self.assertEqual(b.name, "brew1")

        incoming2 = json.dumps({
            "name":
            "brew2",
            "id":
            "2",
            "remote_id":
            "d2e85707-9fcf-4ff3-9d1b-bdb2419da675",
            "active":
            False,
            "stages": [{
                "start_time": "2021-05-15T19:30:54.100701",
                "stage_name": "FERMENTING",
                "estimated_end_time": "2021-05-22T19:30:54.100701"
            }]
        })
        b2 = BrewRemote.from_json(incoming2)
        self.assertEqual(b2.name, "brew2")
        self.assertEqual(b2.active, False)
        self.assertEqual(b2.current_stage.stage_name, "FERMENTING")
        self.assertEqual(type(b2.current_stage.estimated_end_time),
                         datetime.datetime)
Exemplo n.º 3
0
 def test_dict(self):
     time_str = "2021-03-25T17:24:10.829080"
     incoming = json.dumps({
         "name": "brew2",
         "id": "2",
         "remote_id": "d2e85707-9fcf-4ff3-9d1b-bdb2419da675",
         "active": False,
         "start_time": time_str,
         "current_stage": FERMENTING,
     })
     b2 = BrewRemote.from_json(incoming)
     self.assertEqual(type(b2.start_time), datetime.datetime)
     b2dict = b2.to_dict()
     self.assertEqual(time_str, b2dict["start_time"])
     b2_final = BrewRemote.from_dict(b2dict)
     self.assertEqual(b2.start_time, b2_final.start_time)
     self.assertEqual(b2.remote_id, b2_final.remote_id)
     self.assertEqual(b2.id, b2_final.id)
     self.assertEqual(b2.active, b2_final.active)
Exemplo n.º 4
0
    def test_delete(self):
        service = BrewServiceRemote(StubDynamo())

        brew = BrewRemote.from_json(
            json.dumps({
                "name": "brew2",
                "id": "2",
                "active": False,
                "remote_id": "xyz1",
                "current_stage": FERMENTING,
            }))
        service.create(brew)
        brews = service.getAll()
        self.assertEqual(1, len(brews))
        self.assertEqual(brews[0].name, "brew2")

        service.delete("xyz1")

        brews = service.getAll()
        self.assertEqual(0, len(brews))
Exemplo n.º 5
0
    def test_put(self):
        mock_dynamo = StubDynamo()
        service = BrewServiceRemote(mock_dynamo)

        brew = BrewRemote.from_json(
            json.dumps({
                "name": "brew2",
                "id": "2",
                "active": False,
                "remote_id": "xyz1",
                "current_stage": FERMENTING,
            }))
        service.create(brew)
        brews = service.getAll()

        self.assertEqual(1, len(brews))
        self.assertEqual(brews[0].name, "brew2")

        brew.name = "newbrew"
        service.put(brew)
        brews = service.getAll()

        self.assertEqual(1, len(brews))
        self.assertEqual(brews[0].name, "newbrew")