Esempio n. 1
0
    def test_closed_invalid_events(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)

        event_q.put(CARD_INSERT)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(CARD_REMOVE)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_CANCEL)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_MONEY)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_CHANGE_POD)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(BUTTON_DISCHARGE_USER)
        event_q.put(BUTTON_CONFIRM)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.CLOSED
        print
Esempio n. 2
0
def main():
    event_q = queue.Queue()
    message_q = queue.Queue()

    print "Connecting to Database..."

    shop_user_db = shop_user_database.ShopUserDatabase()

    print "Setting up ID Logger..."

    thread_id_logger = id_logger.IdLogger(event_q)
    thread_id_logger.daemon = True
    thread_id_logger.start()

    print "Setting up IO Moderator..."

    thread_io_moderator = io_moderator.IoModerator(event_q, message_q)
    thread_io_moderator.daemon = True
    thread_io_moderator.start()

    print "Setting up FSM..."

    board = fsm.BoardFsm(event_q, message_q, shop_user_db)

    print "Starting webserver..."
    server = LiveSite(board._shop)
    server.daemon = True
    server.start()

    print "Running FSM"
    board.run_fsm()

    print "Board shutting down"
Esempio n. 3
0
    def test_signin_signout_separate(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)

        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_CERTIFIED)
        event_q.put(CARD_INSERT)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_CERTIFIED)
        event_q.put(CARD_INSERT_OTHER)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_REMOVE)
        event_q.put(BUTTON_DISCHARGE_USER)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_REMOVE_OTHER)
        event_q.put(BUTTON_DISCHARGE_USER)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.STANDBY
        print
Esempio n. 4
0
    def test_open_shop(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.STANDBY
        print
Esempio n. 5
0
    def test_cancel_opening(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(BUTTON_CANCEL)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.CLOSED
        print
Esempio n. 6
0
    def test_unlock_try_add_pod_to_machine(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)

        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.UNLOCKED
        print
Esempio n. 7
0
    def test_unlock_change_pod(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(BUTTON_CHANGE_POD)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.CHANGING_POD
        print
Esempio n. 8
0
    def test_unlock_remove(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_REMOVE)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.REMOVING_USER
        print
Esempio n. 9
0
    def test_clearing_debt_valid_swipe(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(BUTTON_MONEY)
        event_q.put(CARD_SWIPE_CERTIFIED)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.STANDBY
        print
Esempio n. 10
0
    def test_unlock_add_user_swipe(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_PROCTOR)
        event_q.put(CARD_SWIPE_CERTIFIED)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.ADDING_USERS
        print
Esempio n. 11
0
    def test_unlock_add_two_users_cancel(self):
        event_q = queue.Queue()
        message_q = queue.Queue()
        shop_user_db = shop_user_database.ShopUserDatabaseTesting()
        board = fsm.BoardFsm(event_q, message_q, shop_user_db)
        
        event_q.put(CARD_SWIPE_POD)
        event_q.put(SWITCH_FLIP_ON)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_POD)
        event_q.put(CARD_SWIPE_CERTIFIED)
        event_q.put(BUTTON_CANCEL)
        event_q.put(TERMINATE_PROGRAM)

        print "\n"
        end_state = board.run_fsm()
        assert end_state == fsm.STANDBY
        print
Esempio n. 12
0
 def __init__(self):
     self._event_q = queue.Queue()
     self._message_q = queue.Queue()
     self._shop_user_db = shop_user_database.ShopUserDatabaseTesting()
     self._board = fsm.BoardFsm(self._event_q, self._message_q,
                                self._shop_user_db)