示例#1
0
 def setUp(self):
     'Give every test case a fakeserial and minitel for either mode.'
     self.fser = FakeSerial()
     self.miniv = Minitel(self.fser, mode=minitel.MODE_VIDEOTEX)
     self.minia = Minitel(self.fser, mode=minitel.MODE_ANSI)
示例#2
0
# This file is a part of the project MinitelPhoenix
#
# Author: Gr33dy
# Job: Student in information technology
# Github: https://github.com/Gr33dy/MinitelPhoenix

import sys
import time
from minitel import Minitel
from minitel_tools import *
from wifi_minitel import Wifi
from services import Services

if __name__ == '__main__':
    print('START - ' + time.strftime("%d-%m-%Y %H:%M"))
    m = Minitel('/dev/ttyUSB0')
    w = Wifi()
    header(m)
    if not w.isConnected():
        connected = False
        while not connected:
            w.printSsids(m)
            w.selectSsid(m)
            w.getPasskey(m)
            connected = w.connexion(m)

    s = Services(m)
    while True:
        s.getService()
        s.interpreter()
示例#3
0
class testMinitel(unittest.TestCase):
    def setUp(self):
        'Give every test case a fakeserial and minitel for either mode.'
        self.fser = FakeSerial()
        self.miniv = Minitel(self.fser, mode=minitel.MODE_VIDEOTEX)
        self.minia = Minitel(self.fser, mode=minitel.MODE_ANSI)


    def testBadMode(self):
        'Ensure that a bad mode value raises a ValueError.'
        self.assertRaises(ValueError, Minitel.setMode, self.miniv, 100)

    def testClearVideotex(self):
        'Test clear screen for videotex'
        self.miniv.clearScreen()
        self.assertEquals(self.fser.written,'\x0c')

    def testClearANSI(self):
        'Test clear screen for ANSI'
        self.minia.clearScreen()
        self.assertEquals(self.fser.written,'\x1b[2J')

    def testNewline(self):
        self.minia.newline()
        self.assertIn(self.fser.written,['\n\r','\r\n'])

    def testSend(self):
        teststr = 'fdasjkl23rlfds18u89dsf'
        self.minia.send(teststr)
        self.assertEquals(self.fser.written, teststr)

    def testRecv(self):
        self.assertEquals(self.minia.recv(4),'')
        self.fser.addInput('123456')
        self.assertEquals(self.minia.recv(4),'1234')
        self.assertEquals(self.minia.recv(4),'56')
    
    def testTextmodeVideotex(self):
        'Test text modes for videotex'
        acc = ''
        self.miniv.setTextMode(minitel.NORMAL)
        self.assertEquals(self.fser.written,acc)
        self.miniv.setTextMode(minitel.TALL)
        acc = acc + '\x1b\x4d'
        self.assertEquals(self.fser.written, acc)
        self.miniv.setTextMode(minitel.TALL)
        self.assertEquals(self.fser.written, acc)
        self.miniv.setTextMode(minitel.WIDE)
        acc = acc + '\x1b\x4e'
        self.assertEquals(self.fser.written, acc)
        self.miniv.setTextMode(minitel.BLINK)
        acc = acc + '\x1b\x48'
        self.assertEquals(self.fser.written, acc)
        self.miniv.setTextMode(minitel.NORMAL)
        acc = acc + '\x1b\x4c'
        self.assertEquals(self.fser.written, acc)

    def testTextmodeANSI(self):
        'Test text modes for ANSI'
        acc = ''
        self.minia.setTextMode(minitel.NORMAL)
        self.assertEquals(self.fser.written,acc)
        self.assertRaises(ValueError, Minitel.setTextMode, self.minia, minitel.TALL)
        self.assertRaises(ValueError, Minitel.setTextMode, self.minia, minitel.WIDE)
        self.minia.setTextMode(minitel.BLINK)
        self.minia.setTextMode(minitel.NORMAL)
        self.assertEquals(self.fser.written, '\x1b[5m\x1b[0m')

    def testSetColorsVideotex(self):
        'Test set colors for videotex'
        self.miniv.setColors(5,2)
        self.miniv.setColors(5,3)
        self.miniv.setColors(6)
        self.miniv.setColors(bg=6)
        self.miniv.setColors(7,0)
        def c(x): return '\x1b'+chr(x)
        self.assertEquals(self.fser.written, c(0x45)+c(0x52)+c(0x53)+c(0x46)+c(0x56)+c(0x47)+c(0x50))

    def testSetColorsANSI(self):
        'Test set colors for ANSI'
        self.minia.setColors(5,2)
        self.minia.setColors(5,3)
        self.minia.setColors(6)
        self.minia.setColors(bg=6)
        self.minia.setColors(7,0)
        def c(x): return '\x1b['+str(x)+'m'
        self.assertEquals(self.fser.written, c(35)+c(42)+c(43)+c(36)+c(46)+c(37)+c(40))

    def testSetVTMode(self):
        'Test setting videotex graphics/text mode'
        self.miniv.setVTMode(minitel.VT_TEXT)
        self.miniv.setVTMode(minitel.VT_GRAPHICS)
        self.miniv.setVTMode(minitel.VT_GRAPHICS)
        self.miniv.setVTMode(minitel.VT_TEXT)
        self.assertEquals(self.fser.written, '\x0e\x0f')
        self.assertRaises(ValueError, Minitel.setVTMode, self.miniv, 10)
        self.assertRaises(ValueError, Minitel.setVTMode, self.minia, minitel.VT_GRAPHICS)

    def testMoveCursorVideotex(self):
        'Test cursor movement in videotex mode'
        self.miniv.moveCursor(10,12)
        self.miniv.moveCursor(20,15)
        def c(x,y): return '\x1f'+chr(65+y)+chr(65+x)
        self.assertEquals(self.fser.written, c(10,12)+c(20,15))

    def testMoveCursorANSI(self):
        'Test cursor movement in ANSI mode'
        self.minia.moveCursor(10,12)
        self.minia.moveCursor(20,15)
        def c(x): return '\x1b['+str(x)+'H'
        self.assertEquals(self.fser.written, c('12;10')+c('15;20'))