Пример #1
0
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"'))
Пример #2
0
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()
Пример #3
0
    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"'))
Пример #4
0
    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"'))
Пример #5
0
    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()
Пример #6
0
        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()
Пример #7
0
        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()
Пример #8
0
        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()