def actualizarDispositivos(self):
     # creo variables para cada dispositivo asi los actualizo
     usb = Usb()
     cd = CdRom()
     usbDev = usb.hayDispositivos()
     if usbDev:  # si hay algun usb
         path = usbDev.getPath()
         nombreUsb = path[path.rfind("/") + 1 :]
         self.panelDispositivos.pendriveRadio.setText(
             "Pendrive insertado: "
             + nombreUsb
             + "\nespacio libre: "
             + (str(Aux.convertirTamanio(usbDev.getLibre())))
         )
         self.panelDispositivos.pendriveRadio.setEnabled(True)
     else:
         self.panelDispositivos.pendriveRadio.setText("Insertar Pendrive")
         self.panelDispositivos.pendriveRadio.setEnabled(False)
     cdDev = cd.hayDispositivos()
     if cdDev:  # si hay algun cd/dvd
         path = cdDev.getPath()
         nombreCd = path
         self.panelDispositivos.cdRadio.setText(
             cdDev.getTipo()
             + " insertado: "
             + nombreCd
             + "\nespacio libre: "
             + (str(Aux.convertirTamanio(cdDev.getLibre())))
         )
         self.panelDispositivos.cdRadio.setEnabled(True)
     else:
         self.panelDispositivos.cdRadio.setText("Insertar Cd/Dvd")
         self.panelDispositivos.cdRadio.setEnabled(False)
class ImageTest(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testPostAndGetImage(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        #pega id do usuario
        url = "/user/email/" + email
        res = self.aux.getFunction(self.urlbase, url)
        id = json.loads(res)[0]['id']

        url = "/user/picture"

        with open("test/sample.jpg", "rb") as imageFile:
            str = base64.b64encode(imageFile.read())
            param = {"type": "jpg", "bytecode": str, "id_user": id};
            response = self.aux.postFunction(self.urlbase, url, param)
            self.assertEqual(response, 201)

        url = "/user/picture/%d" % (id)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertTrue(len(response['url']) > 0)

        self.user_aux.deleteUser(email)
 def crearQTreeWidgetItemModificado(self, itemPadre, direccion):
     size = os.path.getsize(direccion)
     item = QTreeWidgetItemModificado(itemPadre, direccion, size)
     item.setCheckState(0, QtCore.Qt.Unchecked)
     item.setFlags(
         QtCore.Qt.ItemIsSelectable
         | QtCore.Qt.ItemIsEditable
         | QtCore.Qt.ItemIsDragEnabled
         | QtCore.Qt.ItemIsDropEnabled
         | QtCore.Qt.ItemIsUserCheckable
         | QtCore.Qt.ItemIsEnabled
         | QtCore.Qt.ItemIsTristate
     )
     # le pongo como nombre del item: "nombre del archivo" ("tamaƱo" "unidad") ej: Fito (150 MiB)
     sizeUnidad = Aux.convertirTamanio(item.getTamanioBytes())
     item.setText(
         0,
         QtGui.QApplication.translate(
             "MainWindow",
             os.path.basename(direccion) + " (" + str(sizeUnidad[0]) + " " + sizeUnidad[1] + ")",
             None,
             QtGui.QApplication.UnicodeUTF8,
         ),
     )
     return item
class UserAux:

    aux = Aux()
    urlbase = "http://127.0.0.1:8000"

    def createUser(self, email):
        self.deleteUser(email)
        url = "/user"
        json = {
            "name": "Teste1",
            "email": email,
            "age": "21",
            "password": "******"
        }
        return self.aux.postFunction(self.urlbase, url, json)

    def getIdByEmail(self, email):
        url = "/user/email/" + email
        res = self.aux.getFunction(self.urlbase, url)
        return json.loads(res)[0]['id']

    def deleteUser(self, email):
        url = "/user/email/" + email
        res = self.aux.getFunction(self.urlbase, url)

        if res == "[]":
            return

        idd = json.loads(res)[0]['id']

        url = "/user/"
        self.aux.deleteFunction(self.urlbase, url, idd)

    if __name__ == "__main__":
        print("MAIN")
class TestMatch(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testGetAll(self):
        url = "/matches"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        email = "*****@*****.**"
        email2 = "*****@*****.**"

        self.user_aux.createUser(email)
        self.user_aux.createUser(email2)

        idd1 = self.user_aux.getIdByEmail(email)
        idd2 = self.user_aux.getIdByEmail(email2)

        param = {"id_user_not": idd1, "id_user_has": idd2, "id_skill": "2"}
        self.aux.postFunction(self.urlbase, url, param)
        response1 = self.aux.getFunction(self.urlbase, url)
        response1 = json.loads(response1)

        self.assertTrue(len(response) < len(response1))

        ##TEM CASCADE? AO DELETAR UM USER - REFLETE NAS OUTRAS TABELAS?
        self.user_aux.deleteUser(email)
        self.user_aux.deleteUser(email2)
class SkillTest(unittest.TestCase):

    aux = Aux()
    urlbase = "http://127.0.0.1:8000"

    def testGetSkills(self):
        url = "/skill"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertTrue(response != "[]")

    def testGetSkillByID(self):
        url = "/skill/2"

        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        #TO DO
        ##colocar nome da skill com ID 10
        self.assertTrue(response[0]['name'] == "Programar em Java")

    def testGetSkillAutoComplete(self):
        name = "jav"
        #pega id do usuario
        url = "/skill/autocomplete/" + name

        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        #TO DO
        ## Ver esse retorno
        self.assertTrue(response != "[]")
Example #7
0
class UserTest(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testPost(self):
        email = "*****@*****.**"

        self.assertEqual(self.user_aux.createUser(email), 201)

        self.user_aux.deleteUser(email)

    def testGetByEmail(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        url = "/user/email/" + email
        res = self.aux.getFunction(self.urlbase, url)
        self.assertEqual(json.loads(res)[0]['email'], email)

        self.user_aux.deleteUser(email)

    def testDelete(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        url = "/user/email/" + email
        res = self.aux.getFunction(self.urlbase, url)
        idd = json.loads(res)[0]['id']
        url = "/user/"
        self.assertEqual(self.aux.deleteFunction(self.urlbase, url, idd), 200)
class TestUserSkill(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testGetAll(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)
        idd1 = self.user_aux.getIdByEmail(email)
        self.createSkill(idd1)

        url = "/users/skills"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertTrue(len(response) > 0)

        self.user_aux.deleteUser(email)

    def testGetSkillByUser(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)
        idd1 = self.user_aux.getIdByEmail(email)
        self.createSkill(idd1)

        url = "/user/%d/skills" % (idd1)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)

    def testGetUserBySkill(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        idd1 = self.user_aux.getIdByEmail(email)

        self.createSkill(idd1)

        url = "/skill/%d/users" % (10)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)

    def createSkill(self, idd):
        url = "/users/skills"
        param = {"id_user": idd, "id_skill": "10"}
        self.aux.postFunction(self.urlbase, url, param)
 def recorrerDirectorioCreandoQTreeWidgetItems(self, dirDirectorio, itemDirectorio):
     size = 0
     for nombreArchivo in os.listdir(dirDirectorio):
         itemArchivo = self.crearQTreeWidgetItemModificado(itemDirectorio, dirDirectorio + "/" + nombreArchivo)
         if os.path.isdir(dirDirectorio + "/" + nombreArchivo):
             self.recorrerDirectorioCreandoQTreeWidgetItems(dirDirectorio + "/" + nombreArchivo, itemArchivo)
         size = size + itemArchivo.getTamanioBytes()
     if os.path.isdir(dirDirectorio):
         itemDirectorio.setTamanioBytes(size)
         sizeUnidad = Aux.convertirTamanio(itemDirectorio.getTamanioBytes())
         itemDirectorio.setText(
             0, os.path.basename(dirDirectorio) + " (" + str(sizeUnidad[0]) + " " + sizeUnidad[1] + ")"
         )
Example #10
0
class FunTest(unittest.TestCase):

    aux = Aux()
    urlbase = "http://127.0.0.1:8000"

    def testPost(self):
        email = "*****@*****.**"

        # self.deleteUser(email)

        # url= "/user"
        # param = { "name":"Teste1","email":email,"age":"21","password":"******"}
        # self.assertEqual(self.aux.postFunction(self.urlbase, url, param), 201)

        # self.deleteUser(email)

    def testGetByEmail(self):
        email = "*****@*****.**"

        # self.deleteUser(email)

        # url= "/user"
        # param = { "name":"Teste","email":email,"age":"21","password":"******"}
        # self.aux.postFunction(self.urlbase, url, param)
        # url = "/user/email/" + email
        # res = self.aux.getFunction(self.urlbase, url)
        # self.assertEqual(json.loads(res)[0]['email'], email)

        # self.deleteUser(email)

    def testDelete(self):
        email = "*****@*****.**"

        # self.deleteUser(email)

        # url= "/user"
        # param = { "name":"Teste3","email":email,"age":"21","password":"******"}
        # self.aux.postFunction(self.urlbase, url, param)

        # url = "/user/email/" + email
        # res = self.aux.getFunction(self.urlbase, url)
        # idd = json.loads(res)[0]['id']
        # url = "/user/"
        # self.assertEqual( self.aux.deleteFunction(self.urlbase, url,idd), 200)

    def deleteUser(self, email):
Example #11
0
class LoginTest(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testExistentLogin(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        #pega id do usuario
        url = "/login"
        param = {"email" : email, "password": "******"}

        response = self.aux.login(self.urlbase, url, param)

        self.assertTrue(response == 200)

        self.user_aux.deleteUser(email)

    def testNonExistentLogin(self):
        email = "*****@*****.**"

        #pega id do usuario
        url = "/login"
        param = {"email" : email, "password": "******"}

        response = self.aux.login(self.urlbase, url, param)

        self.assertTrue(response == 403)

    def testWrongPasswordLogin(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        #pega id do usuario
        url = "/login"
        param = {"email" : email, "password": "******"}

        response = self.aux.login(self.urlbase, url, param)

        self.assertTrue(response == 403)

        self.user_aux.deleteUser(email)
Example #12
0
class UserTest(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testGetAll(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        url = "/users/infos"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(0, len(response))

        idd = self.user_aux.getIdByEmail(email)

        self.createInfo(idd)

        url = "/users/infos"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)

    def testPut(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        idd = self.user_aux.getIdByEmail(email)

        self.createInfo(idd)

        url = "/user/info/%d" % (idd)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(84111111111, response[0]['whatsapp'])

        url = "/user/info"
        param = {
            "facebook": "http://www.facebook.com/example",
            "whatsapp": "84222222222",
            "id_user": idd
        }
        self.aux.putFunction(self.urlbase, url, param)

        url = "/user/info/%d" % (idd)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(84222222222, response[0]['whatsapp'])

        self.user_aux.deleteUser(email)

    def testDelete(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        idd = self.user_aux.getIdByEmail(email)

        self.createInfo(idd)

        url = "/users/infos"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        url = "/user/info/"
        self.assertEqual(self.aux.deleteFunction(self.urlbase, url, idd), 200)

        url = "/users/infos"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(0, len(response))

    def createInfo(self, idd):
        url = "/user/info"
        param = {
            "facebook": "http://www.facebook.com/example",
            "whatsapp": "84111111111",
            "id_user": idd
        }
        self.aux.postFunction(self.urlbase, url, param)

cmd_parser = argparse.ArgumentParser()
cmd_parser.add_argument('-c','--compiler', help='compiler suite and version')
cmd_parser.add_argument('--spack_base_image', help='spack base image')
cmd_parser.add_argument('-i', '--input_dir', help='input directory')
cmd_parser.add_argument('--arch_family', help='target image arch family e.g., amd64, arm64, ppc64le')
cmd_parser.add_argument('-o', '--output_dir', help='output directory')
args = cmd_parser.parse_args()


if not os.path.exists(args.input_dir):
    raise RuntimeError('Cannot open directory with templates')

template_loader = jinja2.FileSystemLoader(searchpath=args.input_dir)
template_env = jinja2.Environment(loader=template_loader)

# concretize custom builder image
Aux.print_bar()
template = template_env.get_template('Dockerfile.spack.t')
custom_builder = template.render(compiler=args.compiler,
                                 spack_base_image=args.spack_base_image,
                                 arch_family=Aux.adjust_arch_family(args.arch_family))
print(custom_builder)

if not os.path.exists(args.output_dir):
    raise RuntimeError('Cannot open the output directory')


Aux.write_to_file(file_path=os.path.join(args.output_dir, f'custom-spack-{args.arch_family}.dockerfile'), 
                  content=custom_builder)
Example #14
0
class UserTest(unittest.TestCase):

    aux = Aux()
    user_aux = UserAux()
    urlbase = "http://127.0.0.1:8000"

    def testGetAll(self):
        email = "*****@*****.**"

        self.user_aux.createUser(email)

        url = "/users/interests"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(0, len(response))

        idd = self.user_aux.getIdByEmail(email)

        self.createInterest(idd)

        url = "/users/interests"
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)

    def testGetInterestByUser(self):
        email = "*****@*****.**"
        email2 = "*****@*****.**"

        self.user_aux.createUser(email)
        self.user_aux.createUser(email2)

        idd1 = self.user_aux.getIdByEmail(email)
        idd2 = self.user_aux.getIdByEmail(email2)

        self.createInterest(idd1)
        self.createInterest(idd2)

        url = "/user/%d/interests" % (idd1)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        url = "/user/%d/interests" % (idd2)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)
        self.user_aux.deleteUser(email2)

    def testGetUserByInterest(self):
        email = "*****@*****.**"
        email2 = "*****@*****.**"

        self.user_aux.createUser(email)
        self.user_aux.createUser(email2)

        idd1 = self.user_aux.getIdByEmail(email)
        idd2 = self.user_aux.getIdByEmail(email2)

        self.createInterest(idd1)
        self.createInterest(idd2)

        url = "/interest/%d/users" % (1)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(2, len(response))

        url = "/users/interests"
        param = {"id_user": idd1, "id_skill": "2"}
        self.aux.postFunction(self.urlbase, url, param)

        url = "/users/interests"
        param = {"id_user": idd2, "id_skill": "3"}
        self.aux.postFunction(self.urlbase, url, param)

        url = "/interest/%d/users" % (2)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        url = "/interest/%d/users" % (3)
        response = self.aux.getFunction(self.urlbase, url)
        response = json.loads(response)

        self.assertEqual(1, len(response))

        self.user_aux.deleteUser(email)
        self.user_aux.deleteUser(email2)

    def createInterest(self, idd):
        url = "/users/interests"
        param = {"id_user": idd, "id_skill": "1"}
        self.aux.postFunction(self.urlbase, url, param)
os_map = {
    'ubuntu-1804': 'ubuntu:18.04',
    'ubuntu-1604': 'ubuntu:16.04',
    'centos-7': 'centos:7',
    'centos-6': 'centos:6'
}

package_manager = {
    'ubuntu-1804': 'apt',
    'ubuntu-1604': 'apt',
    'centos-7': 'yum',
    'centos-6': 'yum'
}

spack_spec = template.render(
    compiler=args.compiler,
    mpi=args.mpi,
    gpu=args.gpu,
    arch_family=Aux.adjust_arch_family(args.arch_family),
    arch=args.arch,
    builder_image=args.builder_image,
    target_image=os_map[args.target_image],
    install_command=package_manager[args.target_image])
print(spack_spec)

if not os.path.exists(args.output_dir):
    raise RuntimeError('Cannot open the output directory')

Aux.write_to_file(file_path=os.path.join(args.output_dir, 'spack.yaml'),
                  content=spack_spec)