Exemplo n.º 1
0
class MissCartTest(unittest.TestCase):
    def setUp(self):

        self.sccm = ShoppingCartCRUDModel()
        self.sccm.register_cart(Cart())
        self.sm = StateMachine()

    def tearDown(self):
        logger.info(self.sm.state_records)
        copy_log_to_logfile()
        bo = Browser
        bo.browser.close()
        # self.crud.close_cart_browser()

    def state_create(self):
        self.sccm.create_operation()

    def state_read(self):
        self.sccm.read_operation()

    def state_update(self):
        self.sccm.update_operation()

    def state_delete(self):
        self.sccm.delete_operation()

    def test_crud(self):
        state_create = State('state_create')
        state_read = State('state_read')
        state_update = State('state_update')
        state_delete = State('state_delete')

        state_create.register_execution_callback(self.state_create)
        state_read.register_execution_callback(self.state_read)
        state_update.register_execution_callback(self.state_update)
        state_delete.register_execution_callback(self.state_delete)

        for state in [state_create, state_read, state_update, state_delete]:
            state.next_states = (state_create, state_delete, state_update,
                                 state_read)

        self.sm.execution_times = 20
        self.sm.register_start_state(state_create)
        self.sm.register_important_state(state_delete)
        self.sm.run()
Exemplo n.º 2
0
class CRUD(unittest.TestCase):
    def setUp(self):
        self.crud = CRUD_MISS()
        self.sm = StateMachine()

    def tearDown(self):
        print self.sm.state_records
        # self.crud.close_cart_browser()

    def state_create(self):
        self.crud.create_operation()

    def state_read(self):
        self.crud.read_operation()

    def state_update(self):
        self.crud.update_operation()

    def state_delete(self):
        self.crud.delete_operation()

    def test_crud(self):
        state_create = State('state_create')
        state_read = State('state_read')
        state_update = State('state_update')
        state_delete = State('state_delete')

        state_create.register_execution_callback(self.state_create)
        state_read.register_execution_callback(self.state_read)
        state_update.register_execution_callback(self.state_update)
        state_delete.register_execution_callback(self.state_delete)

        for state in [state_create, state_read, state_update, state_delete]:
            state.next_states = (state_create, state_delete, state_update,
                                 state_read)
            state.register_verification_callback(self.crud.check_operation)

        self.sm.execution_times = 30
        self.sm.register_start_state(state_create)
        self.sm.run()
Exemplo n.º 3
0
class Test(unittest.TestCase):
    def setUp(self):
        self.sm = StateMachine()
        self.wifi_open = True
        self.news_open = True
        self.message = 'qajjc' + str(time.time())
        launch_app()

    def tearDown(self):
        print "==================="
        print time.strftime("%Y-%m-%d %X", time.localtime())
        print self.sm.state_records
        open_wifi()
        quit_app()

    def state_open_wifi(self):
        self.wifi_open = True
        print "[state] open_wifi"
        open_wifi()
        self.post_message()

    def state_close_wifi(self):
        self.wifi_open = False
        print "[state] close_wifi"
        close_wifi()
        self.post_message()

    def state_open_news_clint(self):
        self.news_open = True
        print "[state] open_news_clint"
        open_news_client()
        self.post_message()

    def state_close_news_clint(self):
        self.news_open = False
        print "[state] close_news_clint"
        close_news_client()
        self.post_message()

    def post_message(self):
        time.sleep(2)
        post_broadcast('title', self.message, 'summary', 'test.news.163.com',
                       'android')

    def check(self):
        if self.news_open and self.wifi_open:
            wait_message_exist(self.message)
        else:
            pass

    def test(self):
        state_open_wifi = State("state_open_wifi")
        state_close_wifi = State("state_close_wifi")
        state_open_news_client = State("state_open_news_client")
        state_close_news_client = State("state_close_news_client")

        state_open_wifi.register_execution_callback(self.state_open_wifi)
        state_open_wifi.register_verification_callback(self.check)
        state_close_wifi.register_execution_callback(self.state_close_wifi)
        state_close_wifi.register_verification_callback(self.check)
        state_open_news_client.register_execution_callback(
            self.state_open_news_clint)
        state_open_news_client.register_verification_callback(self.check)
        state_close_news_client.register_execution_callback(
            self.state_close_news_clint)
        state_close_news_client.register_verification_callback(self.check)

        state_open_wifi.next_states = [
            state_close_wifi, state_close_news_client, state_close_news_client
        ]
        state_close_wifi.next_states = [
            state_open_news_client, state_close_news_client, state_open_wifi
        ]
        state_open_news_client.next_states = [
            state_close_wifi,
            state_open_news_client,
            state_close_news_client,
        ]
        state_close_news_client.next_states = [
            state_open_wifi,
            state_close_wifi,
            state_open_news_client,
        ]

        self.sm.execution_times = 20
        self.sm.register_start_state(state_open_wifi)
        self.sm.run()