Ejemplo n.º 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")
Ejemplo 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")
Ejemplo 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
Ejemplo n.º 4
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
Ejemplo n.º 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)
Ejemplo n.º 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)
Ejemplo n.º 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")
Ejemplo 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")
Ejemplo 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)
Ejemplo n.º 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)
Ejemplo n.º 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")
Ejemplo 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")