def test_write_request_simple(self): request = server.WriteRequest() request.add(("TestClient1", (1, 2, 3, 4)), "VALUE0") expectedXml = """ <Request> <Type>Write</Type> <Content> <Clients> <Client> <ID>TestClient1</ID> <Objects> <Object> <ID>1</ID> <ObjectInstance> <ID>2</ID> <Resource> <ID>3</ID> <ResourceInstance> <ID>4</ID> <Value>VALUE0</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> </Objects> </Client> </Clients> </Content> </Request> """ self.assertEqualXml(expectedXml, request.serialize())
def test_write_request_multiple_objects(self): request = server.WriteRequest() request.add(("TestClient1", (1, 0, 3, 0)), "VALUE0") request.add(("TestClient1", (2, 7, 4, 1)), "VALUE1") request.add(("TestClient1", (10, 8, 17, 2)), "VALUE2") expectedXml = """ <Request> <Type>Write</Type> <Content> <Clients> <Client> <ID>TestClient1</ID> <Objects> <Object> <ID>1</ID> <ObjectInstance> <ID>0</ID> <Resource> <ID>3</ID> <ResourceInstance> <ID>0</ID> <Value>VALUE0</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> <Object> <ID>2</ID> <ObjectInstance> <ID>7</ID> <Resource> <ID>4</ID> <ResourceInstance> <ID>1</ID> <Value>VALUE1</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> <Object> <ID>10</ID> <ObjectInstance> <ID>8</ID> <Resource> <ID>17</ID> <ResourceInstance> <ID>2</ID> <Value>VALUE2</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> </Objects> </Client> </Clients> </Content> </Request> """ self.assertEqualXml(expectedXml, request.serialize())
def test_write_request_complex(self): request = server.WriteRequest() request.add(("TestClient1", (10, 20, 30, 40)), "VALUE0") request.add(("TestClient1", (10, 20, 30, 41)), "VALUE1") request.add(("TestClient1", (10, 20, 31, 40)), "VALUE2") request.add(("TestClient1", (10, 20, 31, 41)), "VALUE3") request.add(("TestClient1", (10, 20, 31, 42)), "VALUE4") request.add(("TestClient1", (10, 21, 30, 40)), "VALUE5") request.add(("TestClient1", (10, 21, 31, 40)), "VALUE6") request.add(("TestClient1", (10, 21, 31, 41)), "VALUE7") request.add(("TestClient1", (11, 20, 30, 40)), "VALUE8") request.add(("TestClient1", (11, 20, 30, 41)), "VALUE9") request.add(("TestClient1", (11, 21, 30, 40)), "VALUE10") request.add(("TestClient1", (11, 21, 31, 40)), "VALUE11") request.add(("TestClient1", (11, 21, 31, 41)), "VALUE12") expectedXml = """ <Request> <Type>Write</Type> <Content> <Clients> <Client> <ID>TestClient1</ID> <Objects> <Object> <ID>10</ID> <ObjectInstance> <ID>20</ID> <Resource> <ID>30</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE0</Value> </ResourceInstance> <ResourceInstance> <ID>41</ID> <Value>VALUE1</Value> </ResourceInstance> </Resource> <Resource> <ID>31</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE2</Value> </ResourceInstance> <ResourceInstance> <ID>41</ID> <Value>VALUE3</Value> </ResourceInstance> <ResourceInstance> <ID>42</ID> <Value>VALUE4</Value> </ResourceInstance> </Resource> </ObjectInstance> <ObjectInstance> <ID>21</ID> <Resource> <ID>30</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE5</Value> </ResourceInstance> </Resource> <Resource> <ID>31</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE6</Value> </ResourceInstance> <ResourceInstance> <ID>41</ID> <Value>VALUE7</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> <Object> <ID>11</ID> <ObjectInstance> <ID>20</ID> <Resource> <ID>30</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE8</Value> </ResourceInstance> <ResourceInstance> <ID>41</ID> <Value>VALUE9</Value> </ResourceInstance> </Resource> </ObjectInstance> <ObjectInstance> <ID>21</ID> <Resource> <ID>30</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE10</Value> </ResourceInstance> </Resource> <Resource> <ID>31</ID> <ResourceInstance> <ID>40</ID> <Value>VALUE11</Value> </ResourceInstance> <ResourceInstance> <ID>41</ID> <Value>VALUE12</Value> </ResourceInstance> </Resource> </ObjectInstance> </Object> </Objects> </Client> </Clients> </Content> </Request> """ self.assertEqualXml(expectedXml, request.serialize())