From acc5e60f44c310b348679da33bcf88765445c0ee Mon Sep 17 00:00:00 2001 From: Bert Blommers Date: Mon, 14 Feb 2022 19:17:48 -0100 Subject: [PATCH] TimestreamWrite - list of records should be extended, not appended to (#4860) --- moto/timestreamwrite/models.py | 2 +- .../test_timestreamwrite_table.py | 29 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/moto/timestreamwrite/models.py b/moto/timestreamwrite/models.py index a24ac6c0b..a72378921 100644 --- a/moto/timestreamwrite/models.py +++ b/moto/timestreamwrite/models.py @@ -14,7 +14,7 @@ class TimestreamTable(BaseModel): self.retention_properties = retention_properties def write_records(self, records): - self.records.append(records) + self.records.extend(records) @property def arn(self): diff --git a/tests/test_timestreamwrite/test_timestreamwrite_table.py b/tests/test_timestreamwrite/test_timestreamwrite_table.py index 1b6875b88..bc255a0eb 100644 --- a/tests/test_timestreamwrite/test_timestreamwrite_table.py +++ b/tests/test_timestreamwrite/test_timestreamwrite_table.py @@ -1,6 +1,6 @@ import boto3 import sure # noqa # pylint: disable=unused-import -from moto import mock_timestreamwrite +from moto import mock_timestreamwrite, settings from moto.core import ACCOUNT_ID @@ -179,5 +179,30 @@ def test_write_records(): ts.write_records( DatabaseName="mydatabase", TableName="mytable", - Records=[{"Dimensions": [], "MeasureName": "mn", "MeasureValue": "mv"}], + Records=[{"Dimensions": [], "MeasureName": "mn1", "MeasureValue": "mv1"}], ) + + if not settings.TEST_SERVER_MODE: + from moto.timestreamwrite.models import timestreamwrite_backends + + backend = timestreamwrite_backends["us-east-1"] + records = backend.databases["mydatabase"].tables["mytable"].records + records.should.equal( + [{"Dimensions": [], "MeasureName": "mn1", "MeasureValue": "mv1"}] + ) + + ts.write_records( + DatabaseName="mydatabase", + TableName="mytable", + Records=[ + {"Dimensions": [], "MeasureName": "mn2", "MeasureValue": "mv2"}, + {"Dimensions": [], "MeasureName": "mn3", "MeasureValue": "mv3"}, + ], + ) + records.should.equal( + [ + {"Dimensions": [], "MeasureName": "mn1", "MeasureValue": "mv1"}, + {"Dimensions": [], "MeasureName": "mn2", "MeasureValue": "mv2"}, + {"Dimensions": [], "MeasureName": "mn3", "MeasureValue": "mv3"}, + ] + )