def test_must_return_expected_work_value_using_patch_object(self): with patch.object(Helper, 'get_path', return_value='test_path', autospec=True) as GetPathMock: worker = Worker() return_value = worker.work() GetPathMock.assert_called_once() expected = 'test_path' self.assertEqual(expected, return_value)
def test_must_return_expected_work_value(self): with patch('classes.Helper', autospec=True) as HelperMock: worker = Worker() HelperMock.assert_called_once_with('db') HelperMock.return_value.get_path.return_value = 'test_path' return_value = worker.work() expected = 'test_path' self.assertEqual(expected, return_value)
def test_must_call_print_with_right_arg(self): with patch('classes.print') as PrintMock: with patch('os.getcwd', return_value='/home/'): with patch.dict('os.environ', {'MY_VAR': 'testing'}): worker = Worker() actual_return = worker.work_on_env() expected = '/home/testing' self.assertEqual(expected, actual_return) PrintMock.assert_called_once_with(f'Working on {expected}')
def nuevoReporte(self, v: variable): from datetime import date, time report = reporte({ "NombreDispositivo": self.__dispostivo.nombre, "NombreVariable": v.nombre, "Valor": v.value, "Usuario": self.session.usuario, "Fecha": date.today().strftime("%Y-%m-%d"), "Hora": time().strftime("%I:%M:%S"), "Condicion": "%s%s" % (v.value, v.notify.replace("-", "")[1:]), "Nivel": v.nivel, }) worker = Worker( Logica.nuevoReporte, **{ "access_token": self.session.access_token, "data": report.toJSON() }) worker.signals.finished.connect(self.nuevoReporteAction) self.threadpool.start(worker)
def obtenerUsuarios(self): self.UtilsFrame.show() self.updateState("Cargando...", QMovie(":/source/img/Cargando.gif")) worker = Worker(Logica.ObtenerUsuarios, **{"access_token": self.session.access_token}) worker.signals.finished.connect(self.obtenerUsuariosAction) self.threadpool.start(worker)
def __init__(self, queue): Tk.__init__(self) self.title("Spigot Build Tools - Made by AGMDevelopment") self.iconbitmap('./icon.ico') self.resizable(False, False) self.queue = queue versions = Frame(self) versions.grid(column=0, row=0, sticky="W") craftbukkit = Frame(versions) craftbukkit.grid(column=1, row=0, sticky="NW") label = Label(craftbukkit, text="For 1.14+ Only") label.grid(column=0, row=0, sticky="W") self.craft = ChecklistBox(craftbukkit, ["Craft Bukkit"], selected=True) self.craft.grid(column=0, row=1, sticky="W") from main import VERSIONS self.list = ChecklistBox(versions, VERSIONS) self.list.grid(column=0, row=0, sticky="W") frame = Frame(self) frame.grid(column=0, row=1) btn1 = Button(frame, text="Queue versions", command=self.queue_all) btn1.grid(column=0, row=0, padx=10, pady=10) btn2 = Button(frame, text="More Workers", command=lambda: Worker.add(self.log_frame, self.queue)) btn2.grid(column=1, row=0, padx=10, pady=10) btn3 = Button(frame, text="Less Workers", command=lambda: Worker.close_last()) btn3.grid(column=2, row=0, padx=10, pady=10) self.log_frame = LabelFrame(self, text='Workers log') self.log_frame.grid(column=0, row=2) ntw = NetworkMeter(self) ntw.grid(column=0, row=3, sticky='w')
def ObtenerConfguraciones(self): self.btnReload.hide() self.lblStatus.setText("Cargando...") self.movie = QMovie(":/source/img/Cargando.gif") self.movie.setScaledSize(QtCore.QSize(64,64)) self.movie.start() self.Status.setMovie(self.movie) worker = Worker(Logica.ObtenerConfiguraciones,**{"access_token":self.session.access_token}) worker.signals.finished.connect(self.obtenerConfiguracionesCallBack) self.threadpool.start(worker)
def deshabilitarUsuario(self, usr: usuario): self.ContentBox.setEnabled(False) worker = Worker( Logica.deshabilitarUsuario, **{ "access_token": self.session.access_token, "id": usr.id }) worker.signals.finished.connect( partial(self.habilitarUsuarioAction, usr=usr)) self.threadpool.start(worker)
def btnAceptar_Click(self): if self.txtUsuario.text() == "" or self.txtEmail.text() == "": QMessageBox.warning(self,"¡Error!","Rellene los campos solicitados") return reply = self.prompt("Confirmacion","¿Son estos datos correctos?") if reply == QMessageBox.Yes: self.btnAceptar.hide() self.Status.show() self.movie.start() worker = Worker(Logica.recuperarContrasenia,**{"data":{"Email":self.txtEmail.text(),"Usuario":self.txtUsuario.text(),"Password":UIRecuperarModal.randomPassword() }}) worker.signals.finished.connect(self.validarUsuarioAction) self.threadpool.start(worker)
def obtenerVariablesFunciones(self): self.btnReload.hide() self.lblStatus.setText("Cargando...") self.movie = QMovie(":/source/img/Cargando.gif") self.movie.start() self.Status.setMovie(self.movie) worker = Worker( Logica.ObtenerVariablesFunciones, **{ "ID": self.ID, "Token": self.Token, "access_token": self.session.access_token }) worker.signals.finished.connect(self.obtenerVariablesFuncionesCallback) self.threadpool.start(worker)
def guardarConfiguracione(self): self.btnAceptar.hide() self.Status = QtWidgets.QLabel(self.ContentBox) self.Status.setMaximumSize(QtCore.QSize(64, 64)) self.Status.setText("") self.Status.setPixmap(QtGui.QPixmap(":/source/img/Cargando.gif")) self.Status.setScaledContents(True) self.Status.setObjectName("Status") self.movie = QMovie(":/source/img/Cargando.gif") self.movie.start() self.Status.setMovie(self.movie) self.ContentLayout.addWidget(self.Status, 0, QtCore.Qt.AlignHCenter) worker = Worker(Logica.GuardarConfiguraciones,**{"access_token":self.getAccessToken(),"data":self.config.toJSON() } ) worker.signals.finished.connect(self.guardarConfiguracionesCallback) self.threadpool.start(worker)
def actualizarVariables( self, variablesList: list): # Updates all input variables variablesList = list( filter(lambda var: (not var.output), variablesList)) variablesList = list(self.variablesListToJSON(variablesList)) self.updateState("Actualizando...", self.movie) self.deviceSignals.updating.emit() worker = Worker( Logica.LeerSensor, **{ "access_token": self.session.access_token, "ID": self.__dispostivo.id, "Token": self.__dispostivo.token, "data": variablesList }) worker.signals.finished.connect(self.actualizarVariables_Callback) self.threadpool.start(worker)
def btnAceptar_Click(self): if (self.txtUsuario.text() == "" or self.txtPassword.text() == ""): QMessageBox.warning(self, "¡Advertencia!", "Rellene los campos solicitados") self.lblmovie.hide() self.btnAceptar.show() return self.btnAceptar.hide() self.lblmovie.show() self.movie.start() worker = Worker( Logica.IniciarSesion, **{ "Usuario": self.txtUsuario.text(), "Password": self.txtPassword.text() }) worker.signals.finished.connect(self.btnAceptar_CallBack) self.threadpool.start(worker)
def actualizarVariable(self, var: variable): self.__status = 2 current_time = int(self.Time.text( )) if self.Time.text() != '' else self.__dispostivo.time self.VariablesFrame.setEnabled(False) self.updateState("Actualizando...", self.movie) self.deviceSignals.updating.emit() worker = Worker( Logica.ActualizarSensor, **{ "access_token": self.session.access_token, "ID": self.__dispostivo.id, "Token": self.__dispostivo.token, "data": var.toJSON() }) worker.signals.finished.connect( partial(self.actualizarVariable_Callback, var, current_time)) self.threadpool.start(worker)
def validarUsuario(self): try: self.usuario.nombres = self.txtNombre.text() self.usuario.usuario = self.txtUsuario.text() self.usuario.email = self.txtEmail.text() except ValueError as vError: QMessageBox.warning(self, "¡Error!", str(vError)) return reply = self.prompt("Confirmacion", "¿Son estos datos correctos?") if reply == QMessageBox.Yes: self.btnAceptar_2.hide() self.Status.show() self.movie.start() worker = Worker( Logica.actualizarUsuario, **{ "access_token": self.session.access_token, "data": self.usuario.toJSON() }) worker.signals.finished.connect(self.validarUsuarioAction) self.threadpool.start(worker)
def obtenerReportes(self, index=0): self.tableWidget.hide() self.UtilsFrame.show() self.updateState("Cargando", QMovie(":/source/img/Cargando.gif")) dateStart = self.dateStart.date().toPyDate().__format__("%Y-%m-%d") dateEnd = self.dateEnd.date().toPyDate().__format__("%Y-%m-%d") nivel = self.cmbNivel.itemData(self.cmbNivel.currentIndex())["color"] if dateStart > dateEnd: self.updateState("¡Error! Fechas invalidas", QMovie(":/source/img/Error.png")) QMessageBox.warning(self, "¡Error!", "¡Error! Rango de fechas invalido") return worker = Worker( Logica.ObtenerReportes, **{ "access_token": self.session.access_token, "dateStart": dateStart, "dateEnd": dateEnd, "nivel": nivel }) worker.signals.finished.connect(self.obtenerReportesAction) self.threadpool.start(worker)
def obtenerProyectos(self): self.updateState("Cargando...", QMovie(":/source/img/Cargando.gif")) worker = Worker(Logica.ObtenerProyectos, **{"access_token": self.session.access_token}) worker.signals.finished.connect(self.showCallback) self.threadpool.start(worker)
def start(self): from main import MAX_THREAD for _ in range(MAX_THREAD): Worker.add(self.log_frame, self.queue) self.mainloop()
def test_context_manager(self): with patch('classes.open') as mock_open: worker = Worker() mock_open.return_value.__enter__.return_value = StringIO('testing') self.assertEqual(worker.size_of(), 7)