class SessionPlugin(unittest.TestCase): def setUp(self): self.provider = CLTool("context-provide", "--v2", "--session", "org.maemo.fake.provider", "bool", "Screen.Blanked", "false") self.context_client = CLTool("context-listen", "Session.State") def tearDown(self): self.context_client.close() self.provider.close() def testInitial(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) def testBlanking(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) self.provider.send("Screen.Blanked=true") self.assert_(self.context_client.expect('Session.State = QString:"blanked"')) self.provider.send("Screen.Blanked=false") self.assert_(self.context_client.expect('Session.State = QString:"normal"')) self.provider.send("Screen.Blanked=true") self.assert_(self.context_client.expect('Session.State = QString:"blanked"')) self.provider.send("unset Screen.Blanked") self.assert_(self.context_client.expect('Session.State = QString:"normal"'))
class SessionPlugin(unittest.TestCase): def setUp(self): if "DISPLAY" not in os.environ: os.environ["DISPLAY"] = ":0.0" self.context_client = CLTool("context-listen", "Session.State") def tearDown(self): self.context_client.close() def testProvider(self): self.context_client.send("providers Session.State") self.assert_(self.context_client.expect("providers: Session.State@/session-1\n")) def testInitial(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) def testStartFull(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program = CLTool("screentoggler", "full") self.assert_(program.expect("ready")) self.assert_(self.context_client.expect('Session.State = QString:"fullscreen"')) program.close() self.assert_(self.context_client.expect('Session.State = QString:"normal"')) def testStartNormal(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program = CLTool("screentoggler") self.assert_(program.expect("ready")) # no change signals should be delivered, so we need to query the value self.context_client.send("v Session.State") self.assert_(self.context_client.expect('value: QString:"normal"')) program.close() self.context_client.send("v Session.State") self.assert_(self.context_client.expect('value: QString:"normal"')) def testToggleFullAndNormal(self): program = CLTool("screentoggler") self.assert_(program.expect("ready")) self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program.send("full") # wait for the change to happen and the helper program to print out "full" self.assert_(program.expect("full")) self.assert_(self.context_client.expect('Session.State = QString:"fullscreen"')) program.send("normal") self.assert_(program.expect("normal")) self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program.close()
def testStartFull(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program = CLTool("screentoggler", "full") self.assert_(program.expect("ready")) self.assert_(self.context_client.expect('Session.State = QString:"fullscreen"')) program.close() self.assert_(self.context_client.expect('Session.State = QString:"normal"'))
def testStartNormal(self): self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program = CLTool("screentoggler") self.assert_(program.expect("ready")) # no change signals should be delivered, so we need to query the value self.context_client.send("v Session.State") self.assert_(self.context_client.expect('value: QString:"normal"')) program.close() self.context_client.send("v Session.State") self.assert_(self.context_client.expect('value: QString:"normal"'))
def testToggleFullAndNormal(self): program = CLTool("screentoggler") self.assert_(program.expect("ready")) self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program.send("full") # wait for the change to happen and the helper program to print out "full" self.assert_(program.expect("full")) self.assert_(self.context_client.expect('Session.State = QString:"fullscreen"')) program.send("normal") self.assert_(program.expect("normal")) self.assert_(self.context_client.expect('Session.State = QString:"normal"')) program.close()
def testPingPong(self): """ Description This test verifies that valueChanged signals are emitted when two providers continuously set new values to the same property. Pre-conditions Steps 1. starts two providers (A and B) providing the same property the property is respectively initialised to V1 and V2 2. starts a client 3. provider A sets the property to V2, a signal is emitted since V2 is different than previous value V1 4. provider B sets the property to V1, a signal is emitted since V1 is different than previous value V2 5. provider A sets the property to V1, a signal is emitted since V1 is different than previous value V2 6. provider B sets the property to V2, a signal is emitted since V2 is different than previous value V1 Post-conditions References None """ provider_a = CLTool("context-provide", "--v2", "--session", "com.nokia.test.a", "int","test.int","1") provider_a.expect("Added key") # wait for it provider_b = CLTool("context-provide", "--v2", "--session", "com.nokia.test.b", "int","test.int","2") provider_b.expect("Added key") # wait for it client = CLTool("client") client.send("assign session com.nokia.test.a providerA") client.expect("Assigned providerA") client.send("assign session com.nokia.test.b providerB") client.expect("Assigned providerB") client.send("subscribe providerA test.int") self.assert_(client.expect("Subscribe returned: qulonglong:1")) client.send("subscribe providerB test.int") self.assert_(client.expect("Subscribe returned: qulonglong:2")) provider_a.send("test.int = 2") client.send("waitforchanged 1000") self.assert_(client.expect("ValueChanged: com.nokia.test.a /org/maemo/contextkit/test/int qulonglong:2")) provider_b.send("test.int = 1") client.send("waitforchanged 1000") self.assert_(client.expect("ValueChanged: com.nokia.test.b /org/maemo/contextkit/test/int qulonglong:1")) provider_a.send("test.int = 1") client.send("waitforchanged 1000") self.assert_(client.expect("ValueChanged: com.nokia.test.a /org/maemo/contextkit/test/int qulonglong:1")) provider_b.send("test.int = 2") client.send("waitforchanged 1000") self.assert_(client.expect("ValueChanged: com.nokia.test.b /org/maemo/contextkit/test/int qulonglong:2")) client.close() provider_a.close() provider_b.close()
def testBothProvidersSameValue(self): """ Description This test verifies that no signals are emitted when both providers are setting the same value to the same property. Pre-conditions Steps 1. starts two providers (A and B) providing the same property the property is respectively initialised to V1 and V2 2. starts a client 3. provider A sets the property to V2, a signal is emitted since V2 is different than previous value V1 4. provider B sets the property to V2, no signal is emitted since V2 is identical to previous value V2 and V2 from Provider A 5. provider A sets the property to V2, no signal is emitted since V2 is identical to previous value V2 and V2 from Provider B Post-conditions References None """ provider_a = CLTool("context-provide", "--v2", "--session", "com.nokia.test.a", "truth","test.truth","true") provider_a.expect("Added key") # wait for it provider_b = CLTool("context-provide", "--v2", "--session", "com.nokia.test.b", "truth","test.truth","false") provider_b.expect("Added key") # wait for it client = CLTool("client") client.send("assign session com.nokia.test.a providerA") self.assert_(client.expect("Assigned providerA")) client.send("assign session com.nokia.test.b providerB") self.assert_(client.expect("Assigned providerB")) client.send("subscribe providerA test.truth") self.assert_(client.expect("Subscribe returned: bool:true")) client.send("subscribe providerB test.truth") self.assert_(client.expect("Subscribe returned: bool:false")) provider_a.send("test.truth = false") client.send("waitforchanged 3000") self.assert_(client.expect("ValueChanged: com.nokia.test.a /org/maemo/contextkit/test/truth bool:false")) provider_b.send("test.truth = false") client.send("waitforchanged 5000") self.assert_(client.expect("Timeout", timeout = 6)) provider_a.send("test.truth = false") client.send("waitforchanged 5000") self.assert_(client.expect("Timeout", timeout = 6)) client.close() provider_a.close() provider_b.close()
def testOverheardValues(self): """ Description This test verifies that valueChanged signals are emitted when a provider overhears the value from another provider. Pre-conditions Steps 1. starts two providers (A and B) providing the same property the property is respectively initialised to V1 and V2 2. starts a client 3. provider A sets the property to V3, a signal is emitted since V3 is different than previous value V1 4. provider B sets the property to V4, a signal is emitted since V4 is different than previous value V2 5. provider A sets the property to V3, a signal is emitted because A has overheard V4 from provider B Post-conditions References None """ provider_a = CLTool("context-provide", "--v2", "--session", "com.nokia.test.a", "double","test.double","1.5") provider_a.expect("Added key") # wait for it provider_b = CLTool("context-provide", "--v2", "--session", "com.nokia.test.b", "double","test.double","2.5") provider_b.expect("Added key") # wait for it client = CLTool("client") client.send("assign session com.nokia.test.a providerA") self.assert_(client.expect("Assigned providerA")) client.send("assign session com.nokia.test.b providerB") self.assert_(client.expect("Assigned providerB")) client.send("subscribe providerA test.double") self.assert_(client.expect("Subscribe returned: double:1.5")) client.send("subscribe providerB test.double") self.assert_(client.expect("Subscribe returned: double:2.5")) provider_a.send("test.double = 3.5") client.send("waitforchanged 3000") self.assert_(client.expect("ValueChanged: com.nokia.test.a /org/maemo/contextkit/test/double double:3.5")) provider_b.send("test.double = 4.5") client.send("waitforchanged 3000") self.assert_(client.expect("ValueChanged: com.nokia.test.b /org/maemo/contextkit/test/double double:4.5")) provider_a.send("test.double = 3.5") client.send("waitforchanged 3000") self.assert_(client.expect("ValueChanged: com.nokia.test.a /org/maemo/contextkit/test/double double:3.5")) client.close() provider_a.close() provider_b.close()