示例#1
0
 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")
示例#2
0
 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")
示例#3
0
    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
示例#4
0
文件: state.py 项目: leapcode/soledad
    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
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
 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")
示例#8
0
 def test_return_status_code_success(self):
     status, out = exec_validated_cmd("echo", "arg")
     self.assertEquals(status, 0)
     self.assertEquals(out, "arg\n")
示例#9
0
 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)
示例#10
0
 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)
示例#11
0
 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")
示例#12
0
 def test_return_status_code_success(self):
     status, out = exec_validated_cmd("echo", "arg")
     self.assertEquals(status, 0)
     self.assertEquals(out, "arg\n")