Beispiel #1
0
    def test_logout(self):

        paramsLogin = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(pref.LOGIN_LOGIN)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.LOGIN_USERNAME): "unittest",
                    pref.getNoCheck(pref.LOGIN_PASSWORD): "unittest"
                }
            }
        }

        paramsLogout = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(pref.LOGIN_LOGOUT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {}
            }
        }

        with self.c as cLogin:
            rv = cLogin.post('/login', json=paramsLogin)
            self.assertEqual(True,
                             pref.getNoCheck(pref.REQ_VAR_USER_ID) in session)
            rv = cLogin.post('/login', json=paramsLogout)
            self.assertEqual(rv.get_json()["Error"]["code"], 0)
            self.assertEqual(False,
                             pref.getNoCheck(pref.REQ_VAR_USER_ID) in session)
Beispiel #2
0
    def test_edit(self):
        '''
    Tests edit on a computer
    '''
        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(
                    pref.getNoCheck(pref.OPERATION_MANAGE_COMPUTERS)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_EDIT),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_ID): 1,
                        pref.getNoCheck(pref.REQ_VAR_NICK_NAME): "name",
                        pref.getNoCheck(pref.REQ_VAR_DESC): "desc",
                        pref.getNoCheck(pref.REQ_VAR_USERNAME): "username",
                        pref.getNoCheck(pref.REQ_VAR_IP): "192.168.100.1",
                        pref.getNoCheck(pref.REQ_VAR_IS_ADMIN): True
                    }
                }
            }
        }

        rv = self.c.post("/api", json=params)

        self.assertEqual(rv.get_json()["Error"]["code"], 0)
        self.assertEqual(rv.get_json()["entry"]["ID"], "1")
        self.assertEqual(rv.get_json()["entry"]["userID"], "1")
        self.assertEqual(rv.get_json()["entry"]["nickName"], "name")
        self.assertEqual(rv.get_json()["entry"]["IP"], "192.168.100.1")
Beispiel #3
0
    def test_api_get_file_script(self):
        '''
    Tests getScript function with sleep script testing correct entry data
    and correct errorCode
    '''

        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(
                    pref.OPERATION_MANAGE_SCRIPT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_GET_FILE),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_ID):
                        1,
                        pref.getNoCheck(pref.REQ_VAR_FILE_TYPE):
                        pref.getNoCheck(pref.REQ_VAR_FILE_SCRIPT),
                        pref.getNoCheck(pref.REQ_VAR_FP):
                        0,
                    }
                }
            }
        }
        fileString = "#!/bin/bash\n\necho \"Program starts\"\necho \"waits 10 seconds\"\nsleep 10\necho \"waited 10 seconds wait 1 more\"\nsleep 1\necho \"exiting\"\n"
        rv = self.c.post('/api', json=params)
        self.assertEqual(rv.get_json()["Error"]["code"], 0)
        self.assertEqual(rv.get_json()["entry"], fileString)
Beispiel #4
0
    def test_api_add_computer_invalidPassword(self):
        '''
    tests add computer from request with an invalid password
    '''
        pref.setAttr(pref.CONFIG_PUBLIC_SSH_KEY, "dafsdfas")

        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(
                    pref.getNoCheck(pref.OPERATION_MANAGE_COMPUTERS)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_ADD),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_NICK_NAME):
                        "Larry's Computer",
                        pref.getNoCheck(pref.REQ_VAR_DESC): "ITS MAH COMPUTER",
                        pref.getNoCheck(pref.REQ_VAR_USERNAME): "root",
                        pref.getNoCheck(pref.REQ_VAR_PASSWORD):
                        "NOT MY PASSWORD",
                        pref.getNoCheck(pref.REQ_VAR_IP): "localhost",
                        pref.getNoCheck(pref.REQ_VAR_IS_ADMIN): False
                    }
                }
            }
        }
        rv = self.c.post('/api', json=params)
        self.assertEqual(rv.get_json()["Error"]["code"], 50)
Beispiel #5
0
 def test_api_getall_scriptLogs(self):
     '''
 Tests get all for scriptLogs
 '''
     params = {
         pref.getNoCheck(pref.REQ_VAR_BODY): {
             pref.getNoCheck(pref.REQ_VAR_OP):
             pref.getAttrName(
                 pref.getNoCheck(pref.OPERATION_MANAGE_SCRIPT_LOGS)),
             pref.getNoCheck(pref.REQ_VAR_DATA): {
                 pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                 pref.getNoCheck(pref.TABLE_OP_GET_ALL),
                 pref.getNoCheck(pref.REQ_VAR_DATA): {}
             }
         }
     }
     rv = self.c.post('/api', json=params)
     self.assertEqual(rv.get_json()["Error"]["code"], 0)
Beispiel #6
0
    def test_login_request_success(self):
        '''
    Tests a login request with a valid login
    '''

        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(pref.LOGIN_LOGIN)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.LOGIN_USERNAME): "unittest",
                    pref.getNoCheck(pref.LOGIN_PASSWORD): "unittest"
                }
            }
        }

        rv = self.c.post('/login', json=params)
        self.assertEqual(rv.get_json()["Error"]["code"], 0)
Beispiel #7
0
    def test_login_request_fail(self):
        '''
    Tests a login request with a invalid login due to invalid password
    '''

        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(pref.LOGIN_LOGIN)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.LOGIN_USERNAME): "unittest",
                    pref.getNoCheck(pref.LOGIN_PASSWORD): "IncorrectPassword"
                }
            }
        }

        rv = self.c.post('/login', json=params)
        self.assertEqual(
            rv.get_json()["Error"]["code"],
            pref.getError(pref.ERROR_USER_AUTHENTICATION_ERROR).code)
Beispiel #8
0
    def test_edit_script(self):
        '''
    Tests get by id for an object that doesnt exist
    '''
        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(
                    pref.OPERATION_MANAGE_SCRIPT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_EDIT),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_ID): 2,
                        pref.getNoCheck(pref.REQ_VAR_NICK_NAME): "test",
                        pref.getNoCheck(pref.REQ_VAR_DESC): "test",
                        pref.getNoCheck(pref.REQ_VAR_FILE_NAME):
                        "test_script_name.sh",
                        pref.getNoCheck(pref.REQ_VAR_SCRIPT_DATA): "TEST",
                        pref.getNoCheck(pref.REQ_VAR_IS_ADMIN): True
                    }
                }
            }
        }

        rv = self.c.post("/api", json=params)

        self.assertEqual(rv.get_json()["Error"]["code"], 0)
        self.assertEqual(rv.get_json()["entry"]["ID"], "2")
        self.assertEqual(rv.get_json()["entry"]["name"], "test")

        #test so see if file content was changed
        fp = open(
            "{}test_script_name.sh".format(
                pref.getNoCheck(pref.CONFIG_SCRIPT_PATH)), "r")

        self.assertEqual(fp.readline(), "TEST")
        fp.close()
Beispiel #9
0
    def test_get_by_ID(self):
        '''
    Tests get by id for an object that exists
    '''
        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(
                    pref.OPERATION_MANAGE_SCRIPT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_GET_BY_ID),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_ID): 1,
                    }
                }
            }
        }

        rv = self.c.post("/api", json=params)

        self.assertEqual(rv.get_json()["Error"]["code"], 0)
        self.assertEqual(rv.get_json()["entry"]["ID"], '1')
Beispiel #10
0
    def test_get_by_ID_DNE(self):
        '''
    Tests get by id for an object that doesnt exist
    '''
        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(
                    pref.OPERATION_MANAGE_SCRIPT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_GET_BY_ID),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_ID): 99,
                    }
                }
            }
        }

        rv = self.c.post("/api", json=params)

        self.assertEqual(
            rv.get_json()["Error"]["code"],
            pref.getError(pref.ERROR_SQL_RETURN_MISSING_ATTR).code)
Beispiel #11
0
    def test_api_add_script(self):
        '''
    Tests add script function for the script larryScript.sh
    it will delete the file if it exists before the tests
    '''
        import os

        #remove test file incase it already there
        try:
            scriptLocation = pref.getNoCheck(pref.CONFIG_SCRIPT_PATH)
            os.remove("{}{}".format(scriptLocation, "larryScript.sh"))
        except:
            pass
        params = {
            pref.getNoCheck(pref.REQ_VAR_BODY): {
                pref.getNoCheck(pref.REQ_VAR_OP):
                pref.getAttrName(pref.getNoCheck(
                    pref.OPERATION_MANAGE_SCRIPT)),
                pref.getNoCheck(pref.REQ_VAR_DATA): {
                    pref.getNoCheck(pref.REQ_VAR_FUNC_OP):
                    pref.getNoCheck(pref.TABLE_OP_ADD),
                    pref.getNoCheck(pref.REQ_VAR_DATA): {
                        pref.getNoCheck(pref.REQ_VAR_NICK_NAME):
                        "Larry's SCRIPT",
                        pref.getNoCheck(pref.REQ_VAR_DESC): "LARRY's SCRIPTS",
                        pref.getNoCheck(pref.REQ_VAR_FILE_NAME):
                        "larryScript.sh",
                        pref.getNoCheck(pref.REQ_VAR_SCRIPT_DATA):
                        "NOT MY data",
                        pref.getNoCheck(pref.REQ_VAR_IS_ADMIN): False
                    }
                }
            }
        }
        rv = self.c.post('/api', json=params)
        self.assertEqual(rv.get_json()["Error"]["code"], 0)