def test_argument_validation(self): validator = lambda arg: True if arg is 'valid' else False status, out = exec_validated_cmd("command", "invalid arg", validator) self.assertEquals(status, 1) self.assertEquals(out, "invalid argument") status, out = exec_validated_cmd("echo", "valid", validator) self.assertEquals(status, 0) self.assertEquals(out, "valid\n")
def test_argument_validation(self): validator = lambda arg: True if arg is 'valid' else False status, out = exec_validated_cmd("command", "invalid arg", validator) self.assertEquals(status, 1) self.assertEquals(out, "invalid argument") status, out = exec_validated_cmd("echo", "valid", validator) self.assertEquals(status, 0) self.assertEquals(out, "valid\n")
def ensure_database(self, dbname): """ Ensure couch database exists. :param dbname: The name of the database to ensure. :type dbname: str :raise Unauthorized: If disabled or other error was raised. :return: The SoledadBackend object and its replica_uid. :rtype: (SoledadBackend, str) """ if not self.create_cmd: raise Unauthorized() else: code, out = exec_validated_cmd(self.create_cmd, dbname, validator=is_db_name_valid) if code is not 0: logger.error(""" Error while creating database (%s) with (%s) command. Output: %s Exit code: %d """ % (dbname, self.create_cmd, out, code)) raise Unauthorized() db = self.open_database(dbname) return db, db.replica_uid
def ensure_database(self, dbname): """ Ensure couch database exists. :param dbname: The name of the database to ensure. :type dbname: str :raise Unauthorized: If disabled or other error was raised. :return: The SoledadBackend object and its replica_uid. :rtype: (SoledadBackend, str) """ if not self.create_cmd: raise Unauthorized() else: code, out = exec_validated_cmd(self.create_cmd, dbname, validator=is_db_name_valid) if code is not 0: logger.error(""" Error while creating database (%s) with (%s) command. Output: %s Exit code: %d """ % (dbname, self.create_cmd, out, code)) raise Unauthorized() db = self.open_database(dbname) return db, db.replica_uid
def test_return_status_code_number_on_failure(self): status, out = exec_validated_cmd("ls", "user-bebacafe") self.assertNotEquals(status, 0) self.assertIn('No such file or directory\n', out)
def test_handle_oserror_on_invalid_command(self): status, out = exec_validated_cmd("inexistent command with", "args") self.assertEquals(status, 1) self.assertIn("No such file or directory", out)
def test_handle_command_with_spaces(self): status, out = exec_validated_cmd("echo I am", "an argument") self.assertEquals(status, 0, out) self.assertEquals(out, "I am an argument\n")
def test_return_status_code_success(self): status, out = exec_validated_cmd("echo", "arg") self.assertEquals(status, 0) self.assertEquals(out, "arg\n")
def test_return_status_code_number_on_failure(self): status, out = exec_validated_cmd("ls", "user-bebacafe") self.assertNotEquals(status, 0) self.assertIn('No such file or directory\n', out)
def test_handle_oserror_on_invalid_command(self): status, out = exec_validated_cmd("inexistent command with", "args") self.assertEquals(status, 1) self.assertIn("No such file or directory", out)
def test_handle_command_with_spaces(self): status, out = exec_validated_cmd("echo I am", "an argument") self.assertEquals(status, 0, out) self.assertEquals(out, "I am an argument\n")
def test_return_status_code_success(self): status, out = exec_validated_cmd("echo", "arg") self.assertEquals(status, 0) self.assertEquals(out, "arg\n")