示例#1
0
def test_encode_auth_token(db):
    user = User("*****@*****.**", "pass123", admin=True)
    db.session.add(user)
    db.session.commit()

    auth_token = user.encode_auth_token(user.id)
    assert isinstance(auth_token, bytes)
示例#2
0
def test_decode_auth_token(db):
    user = User("*****@*****.**", "pass123", admin=True)
    db.session.add(user)
    db.session.commit()
    auth_token = user.encode_auth_token(user.id)
    decoded = User.decode_auth_token(auth_token)
    assert decoded == user.id
示例#3
0
 def get(self):
     """
     Get information about all jobs.
     """
     auth_token = get_bearer_token()
     user_id = User.decode_auth_token(auth_token)
     return JobService.get_jobs_by_user_id(user_id)
示例#4
0
 def get(self):
     """
     Get all scripts.
     """
     auth_token = get_bearer_token()
     user_id = User.decode_auth_token(auth_token)
     return ScriptService.get_all_by_user(user_id)
示例#5
0
    def get(self, job_id: str):
        """
        Get information about the given job ID.
        """
        auth_token = get_bearer_token()
        user_id = User.decode_auth_token(auth_token)

        return JobService.get_job_by_id(job_id=job_id, user_id=user_id)
示例#6
0
 def post(self, script_name: str):
     """
     Execute a given script. Accepts an arbitrary JSON object
     """
     auth_token = get_bearer_token()
     user_id = User.decode_auth_token(auth_token)
     return ScriptService.execute(user_id,
                                  script_name,
                                  placeholder_dict=request.get_json())
示例#7
0
    def post(self):
        """
        Register a script with the backend.
        """
        auth_token = get_bearer_token()

        user_id = User.decode_auth_token(auth_token)
        script_obj = request.parsed_obj
        script_obj["user"] = user_id

        return ScriptService.create(script_obj)
示例#8
0
    def delete(self, script_name: str):
        """
        Delete the script.
        """
        version = request.args.get("version")
        delete_all = request.args.get("delete_all")
        if (version is not None) and (delete_all is not None):
            raise UserException(
                "Please specify only one of `version` or `delete_all`.", 400)

        auth_token = get_bearer_token()
        user_id = User.decode_auth_token(auth_token)
        return ScriptService.delete(user_id,
                                    script_name,
                                    version=version,
                                    delete_all=delete_all)
示例#9
0
from unittest.mock import patch

from cli_api.auth.model import User
from cli_api.auth.service import UserService


@patch.object(UserService, "register_user",
              lambda register_req: User(**register_req))
def test_register_user_success(app):
    with app.test_client() as client:
        payload = {"email": "*****@*****.**", "password": "******"}

        result = client.post("/auth/register", json=payload)
        assert result.status_code == 201

        result_json = result.get_json()
        print(result_json)
        assert result_json["email"] == "*****@*****.**"
        assert result_json["registered_on"]


@patch.object(UserService, "login_user", lambda register_req: b"token123")
def test_login_success(app):
    with app.test_client() as client:
        payload = {"email": "*****@*****.**", "password": "******"}

        result = client.post("/auth/login", json=payload)
        assert result.status_code == 200

        result_json = result.get_json()
        assert result_json["message"] == "Successfully logged in"
示例#10
0
def test_user_create(db):
    user = User("*****@*****.**", "pass123", admin=True)
    assert user
示例#11
0
 def get(self, script_name: str):
     auth_token = get_bearer_token()
     user_id = User.decode_auth_token(auth_token)
     return ScriptService.get_script_by_user_and_name(
         user_id, script_name, version=request.args.get("version"))