1 | import json
|
---|
2 | from typing import List
|
---|
3 | import unittest
|
---|
4 |
|
---|
5 | from pyson.ObjectMapper import ObjectMapper
|
---|
6 | from unitpy.GeneralTests import GeneralTests
|
---|
7 | from uri.uri import URI
|
---|
8 |
|
---|
9 | from geniusweb.references.Parameters import Parameters
|
---|
10 | from geniusweb.references.PartyRef import PartyRef
|
---|
11 | from geniusweb.references.PartyWithParameters import PartyWithParameters
|
---|
12 | from geniusweb.references.PartyWithProfile import PartyWithProfile
|
---|
13 | from geniusweb.references.ProfileRef import ProfileRef
|
---|
14 |
|
---|
15 |
|
---|
16 | class PartyWithProfileTest (unittest.TestCase, GeneralTests[PartyWithProfile]):
|
---|
17 |
|
---|
18 | serialized = "{\"party\":{\"partyref\":\"ws:party1\",\"parameters\":{}},\"profile\":\"ws:profile1\"}"
|
---|
19 |
|
---|
20 | party1 = PartyRef(URI("ws:party1"))
|
---|
21 | party1a = PartyRef( URI("ws:party1"))
|
---|
22 | party2 = PartyRef( URI("ws:party2"))
|
---|
23 | party3 = PartyRef( URI("http:party3"))
|
---|
24 |
|
---|
25 | profile1 = ProfileRef(URI("ws:profile1"))
|
---|
26 | profile2 = ProfileRef( URI("ws:profile2"))
|
---|
27 |
|
---|
28 | settings1 = Parameters()
|
---|
29 | settings2 = Parameters({"a": 1})
|
---|
30 |
|
---|
31 | party1withparams1 = PartyWithParameters(party1,settings1)
|
---|
32 | party1withparams2 = PartyWithParameters(party1,settings2)
|
---|
33 | party2withparams1 = PartyWithParameters(party2,settings1)
|
---|
34 |
|
---|
35 | partyprof1 = PartyWithProfile(party1withparams1, profile1)
|
---|
36 | partyprof1a = PartyWithProfile(party1withparams1, profile1)
|
---|
37 | partyprof2 = PartyWithProfile(party2withparams1, profile1)
|
---|
38 | partyprof3 = PartyWithProfile(party1withparams1, profile2)
|
---|
39 | partyprof4 = PartyWithProfile(party1withparams2, profile1)
|
---|
40 |
|
---|
41 |
|
---|
42 | def getGeneralTestData(self) -> List[List[PartyWithProfile]] :
|
---|
43 | return [[self.partyprof1, self.partyprof1a], [self.partyprof2],[self.partyprof3],
|
---|
44 | [self.partyprof4]]
|
---|
45 |
|
---|
46 | def getGeneralTestStrings(self) -> List[str] :
|
---|
47 | return [
|
---|
48 | "PartyWithProfile.PartyRef.ws:party1.,ProfileRef.ws:profile1.*",
|
---|
49 | "PartyWithProfile.PartyRef.ws:party2.,ProfileRef.ws:profile1.*",
|
---|
50 | "PartyWithProfile.PartyRef.ws:party1.,ProfileRef.ws:profile2.*",
|
---|
51 | "PartyWithProfile.PartyRef.ws:party1.{a=1},ProfileRef.ws:profile1.*"]
|
---|
52 |
|
---|
53 | def testSmoke(self) :
|
---|
54 | pass
|
---|
55 |
|
---|
56 | def testNull(self) :
|
---|
57 | self.assertRaises(ValueError, lambda:PartyWithProfile(None, None))
|
---|
58 |
|
---|
59 | def testSerialize(self) :
|
---|
60 | jackson = ObjectMapper()
|
---|
61 |
|
---|
62 | jsonobj = jackson.toJson(self.partyprof1);
|
---|
63 | print(str(jsonobj))
|
---|
64 | self.assertEqual(json.loads(self.serialized), jsonobj);
|
---|
65 |
|
---|
66 | def testDeserialize(self):
|
---|
67 | jackson = ObjectMapper()
|
---|
68 | p = jackson.parse(json.loads(self.serialized), PartyWithProfile)
|
---|
69 | print(str(p))
|
---|
70 | self.assertEqual(self.partyprof1, p)
|
---|