Add publish operation to iotdata (#1362)

* add publish operation to iotdata

* restart ci
This commit is contained in:
Toshiya Kawasaki 2017-11-25 02:22:53 +09:00 committed by Terry Cain
parent e227a30aa9
commit cfc994d0ae
3 changed files with 21 additions and 0 deletions

View File

@ -184,6 +184,10 @@ class IoTDataPlaneBackend(BaseBackend):
thing.thing_shadow = new_shadow
return thing.thing_shadow
def publish(self, topic, qos, payload):
# do nothing because client won't know about the result
return None
available_regions = boto3.session.Session().get_available_regions("iot-data")
iotdata_backends = {region: IoTDataPlaneBackend(region) for region in available_regions}

View File

@ -33,3 +33,14 @@ class IoTDataPlaneResponse(BaseResponse):
thing_name=thing_name,
)
return json.dumps(payload.to_dict())
def publish(self):
topic = self._get_param("topic")
qos = self._get_int_param("qos")
payload = self._get_param("payload")
self.iotdata_backend.publish(
topic=topic,
qos=qos,
payload=payload,
)
return json.dumps(dict())

View File

@ -85,3 +85,9 @@ def test_update():
payload.should.have.key('metadata').which.should.have.key('desired').which.should.have.key('led')
payload.should.have.key('version').which.should.equal(2)
payload.should.have.key('timestamp')
@mock_iotdata
def test_publish():
client = boto3.client('iot-data', region_name='ap-northeast-1')
client.publish(topic='test/topic', qos=1, payload=b'')