def test_bad_formdata(self): def post_packet(lampid, packet): pass (json, errcode) = V1API(post_packet).handle(ck='lamp', formdata={}) self.assertEqual(400, errcode) self.assertEqual("Expected color data", json['message'])
def test_invalid_period(self): def post_packet(lampid, packet): pass data = {'color': "#00ff00", 'period': 'abc'} (json, errcode) = V1API(post_packet).handle(ck='lamp', formdata=data) self.assertEqual(400, errcode) self.assertEqual("Invalid period", json['message'])
def test_invalid_color_spec(self): def post_packet(lampid, packet): pass (json, errcode) = V1API(post_packet).handle(ck='lamp', formdata={'color': "XYZ"}) self.assertEqual(400, errcode) self.assertEqual("Invalid color", json['message'])
def test_bad_id(self): def post_packet(lampid, packet): pass api = V1API(post_packet) (json, errcode) = api.handle(ck='%%%', formdata={'color': '#ff00ff'}) self.assertEqual(400, errcode) self.assertEqual("Invalid channel key", json['message'])
def test_unknown_form_parameter(self): def post_packet(lampid, packet): pass data = {'color': "#00ff00", 'huh': '123'} (json, errcode) = V1API(post_packet).handle(ck='lamp', formdata=data) self.assertEqual(400, errcode) self.assertEqual("Unknown parameter 'huh'", json['message'])
def test_red_color(self): sent = [] def post_packet(lampid, packet): sent.append(lampid) sent.append(packet) api = V1API(post_packet) (json, errcode) = api.handle(ck='lamp2', formdata={'color': "#ff0000"}) self.assertEqual(200, errcode) self.assertEqual("'lamp2' updated", json['message']) self.assertEqual('lamp2', sent[0]) self.assertEqual((255, 0, 0), sent[1])
def test_period_empty_means_no_period(self): sent = [] def post_packet(lampid, packet): sent.append(lampid) sent.append(packet) data = {'color': "#ff00ff", 'period': ''} (json, errcode) = V1API(post_packet).handle(ck='lamp4', formdata=data) self.assertEqual(200, errcode) self.assertEqual("'lamp4' updated", json['message']) self.assertEqual('lamp4', sent[0]) self.assertEqual((255, 0, 255), sent[1])
def test_yellow_pulse(self): sent = [] def post_packet(lampid, packet): sent.append(lampid) sent.append(packet) api = V1API(post_packet) data = {'color': "#ffff00", 'period': '1000'} (json, errcode) = api.handle(ck='lamp33', formdata=data) self.assertEqual(200, errcode) self.assertEqual("'lamp33' updated", json['message']) self.assertEqual('lamp33', sent[0]) self.assertEqual((255, 255, 0, 1.0), sent[1])