def test0_3_flip(self):
        """
        Web >0_3> press flip button
        """
        test1_file = "%s/packaged/etc/raspigpioctrl/pin1.cfg" % PREFIX
        pin1 = SlavePin(self.opt, test1_file)
        pin1.init_pin(True)
        pin1.set_cfg({"dow": "Mon,Tue,Wed,Fri,Sat,Sun"})

        web = Web(self.opt)
        web.add_pin(pin1)
        web.update_slave(send="flip", gpio="1")
        exp = [line for line in self.exp_head]
        exp.extend([line for line in self.exp_pin1])
        exp.extend([line for line in self.exp_tail])
        exp[36] = "<input type='checkbox' name='dow_Mon' value='Mon' checked>Mon"
        exp[37] = "<input type='checkbox' name='dow_Tue' value='Tue' checked>Tue"
        exp[39] = "<input type='checkbox' name='dow_Thu' value='Thu'>Thu"
        exp[40] = "<input type='checkbox' name='dow_Fri' value='Fri' checked>Fri"
        exp[41] = "<input type='checkbox' name='dow_Sat' value='Sat' checked>Sat"
        exp[42] = "<input type='checkbox' name='dow_Sun' value='Sun' checked>Sun"
        self.check_web(web.html, exp)
        web.update_slave(send="flip", gpio="1")
        exp[20] = "<td style='background-color:red'>"
        self.check_web(web.html, exp)
    def test0_4_sun(self):
        """
        Web >0_4> change mod to sun
        """
        exp = ""

        test1_file = "%s/packaged/etc/raspigpioctrl/pin1.cfg" % PREFIX
        pin1 = SlavePin(self.opt, test1_file)
        pin1.init_pin(True)
        pin1.set_cfg({"dow": "Mon,Tue,Wed,Thu,Fri,Sat,Sun"})

        web = Web(self.opt)
        web.add_pin(pin1)
        web.update_slave(send="change", mode="sun", gpio="1")
        self.assertTrue(web.gctrl.gpio_pins["1"].get_json()["mode"] == "sun")
 def test2_0_change(self):
     """
     Web >2_0> change main pin through web-class
     """
     exp = [line for line in self.exp_head]
     exp.extend([line for line in self.exp_pin1])
     exp.extend([line for line in self.exp_main5])
     exp.extend([line for line in self.exp_tail])
     opt = self.opt.copy()
     opt["--test"] = "test1"
     web = Web(opt)
     web.index()
     got = web.html
     exp[17] = "<td><b>TestPin1</b></td>"
     exp[18] = "<td><input type='text' name='groups' value='grpA' size='10'></td>"
     exp[20] = "<td style='background-color:red'>"
     exp[34] = "<td><input type='text' name='start' value='01:00' size='5'>(24h)</td>"
     exp[36] = "<input type='checkbox' name='dow_Mon' value='Mon' checked>Mon"
     exp[37] = "<input type='checkbox' name='dow_Tue' value='Tue' checked>Tue"
     exp[39] = "<input type='checkbox' name='dow_Thu' value='Thu' checked>Thu"
     exp[40] = "<input type='checkbox' name='dow_Fri' value='Fri' checked>Fri"
     exp[41] = "<input type='checkbox' name='dow_Sat' value='Sat' checked>Sat"
     exp[42] = "<input type='checkbox' name='dow_Sun' value='Sun' checked>Sun"
     exp[44] = "<td><input type='text' name='duration' value='60' size='5'>min</td>"
     exp[52] = "<td><b>MainPin5</b></td>"
     exp[53] = "<td><input type='text' name='groups' value='grpA' size='10'></td>"
     exp[55] = "<td style='background-color:red'>"
     exp[57] = "<td style='background-color:red'>"
     self.check_web(got, exp)
     # should not happen
     web.update_slave(gpio="1", send="flip")
     got = web.html
     self.check_web(got, exp)
     # flip state=1
     web.update_main(gpio="5", send="flip")
     got = web.html
     exp[55] = "<td style='background-color:green'>"
     self.check_web(got, exp)
     # should happen
     web.update_slave(gpio="1", send="flip")
     got = web.html
     exp[20] = "<td style='background-color:green'>"
     self.check_web(got, exp)
     # flip state=off
     web.update_main(gpio="5", send="flip")
     got = web.html
     exp[20] = "<td style='background-color:red'>"
     exp[55] = "<td style='background-color:red'>"
     self.check_web(got, exp)
     web.update_main(gpio="5", send="AUTO")
     got = web.html
     exp[57] = "<td style='background-color:green'>"
     self.check_web(got, exp)
     web.update_slave(gpio="1", send="flip")
     got = web.html
     exp[20] = "<td style='background-color:green'>"
     exp[55] = "<td style='background-color:green'>"
     self.check_web(got, exp)
     web.update_slave(gpio="1", send="flip")
     got = web.html
     exp[20] = "<td style='background-color:red'>"
     exp[55] = "<td style='background-color:red'>"
     self.check_web(got, exp)