Exemple #1
0
    def return_vim_server_version(self, testcase=None):
        """ Return the version number for the ViM server.
        INPUT
            testcase: a testcase object supplied when executing function as part of a testcase step.
        OUPUT
            successful: whether the function executed successfully or not.
            version: the version of the server (e.g., 3.2.12.314).
        """

        self.log.debug("Returning ViM server version ...")
        result = {'successful': False, 'version': None}

        try:
            # determine version of ViM server
            server_file_path = self.dir + "VIM.exe"
            result['version'] = return_file_version(self.log, server_file_path)['version']

            # update Hestia variable
            self.version = result['version']

            result['successful'] = True
        except BaseException, e:
            self.handle_exception(e, operation="return the ViM server version")
Exemple #2
0
    def verify_idis_dlls_versions(self, testcase=None):
        """ Verify the version numbers of the IDIS DLL files.
        INPUT
            testcase: a testcase object supplied when executing function as part of a testcase step.
        OUPUT
            successful: whether the function executed successfully or not.
            verified: whether the operation was verified or not.
        """

        self.log.debug("Verifying IDIS DLLs versions ...")
        result = {'successful': False, 'verified': False}

        try:
            # check server version
            if self.release_version < 3.2:
                version = self.return_vim_server_version()['version']
                self.determine_vim_server_release_version(version, testcase=testcase)

            # determine correct DLL version
            exp_admin_ver = None
            exp_search_ver = None
            if 3.2 <= self.release_version < 3.4:
                exp_admin_ver = "2.4.1.3"
                exp_search_ver = "2.4.0.1"
            elif 3.4 <= self.release_version:
                exp_admin_ver = "2.4.1.3"
                exp_search_ver = "2.4.1.3"

            if exp_admin_ver is not None and exp_search_ver is not None:
                self.log.trace("Server version %s uses admin DLL version %s and search DLL version %s."
                               % (self.release_version, exp_admin_ver, exp_search_ver))

                # check admin DLL version
                admin_path = "%sidisadmin.dll" % self.dir
                admin_ver = return_file_version(self.log, admin_path)['version']
                admin_verified = False
                if admin_ver == exp_admin_ver:
                    self.log.trace("Verified admin DLL version. Version %s found." % admin_ver)
                    admin_verified = True
                else:
                    self.log.error("Failed to verify admin DLL version. Version %s found." % admin_ver)

                # check search DLL version
                search_path = "%sidissearch.dll" % self.dir
                search_ver = return_file_version(self.log, search_path)['version']
                search_verified = False
                if search_ver == exp_search_ver:
                    self.log.trace("Verified search DLL version. Version %s found." % search_ver)
                    search_verified = True
                else:
                    self.log.error("Failed to verify search DLL version. Version %s found." % search_ver)

                # compile results
                if admin_verified and search_verified:
                    self.log.trace("Verified IDIS DLL versions.")
                    result['verified'] = True
                else:
                    self.log.error("Failed to verify IDIS DLL versions.")

            else:
                self.log.error("Failed to verify IDIS DLL versions. "
                               "No expected DLL versions for server version %s." % self.release_version)

            result['successful'] = True
        except BaseException, e:
            self.handle_exception(e, operation="verify IDIS DLLs versions")