config:
    name: "create user testcases."
    variables:
        device_sn: 'HZfFBh6tU59EdXJ'
    base_url: ${get_base_url()}

teststeps:
-
    name: get token
    variables:
        user_agent: 'iOS/10.3'
        os_platform: 'ios'
        app_version: '2.8.6'
        sign: 5188962c489d1a35effa99e9346dd5efd4fdabad
    request:
        url: /api/get-token
        method: POST
        headers:
            Content-Type: application/json
            user_agent: $user_agent
            device_sn: $device_sn
            os_platform: $os_platform
            app_version: $app_version
        json:
            sign: $sign
    extract:
        token: content.token
    validate:
        - {"check": "status_code", "comparator": "eq", "expect": 200}
        - {"check": "content.token", "comparator": "len_eq", "expect": 16}

-
    name: create user which does not exist
    variables:
        user_name: "user1"
        user_password: "123456"
    request:
        url: /api/users/1000
        method: POST
        headers:
            Content-Type: application/json
            device_sn: $device_sn
            token: $token
        json:
            name: $user_name
            password: $user_password
    validate:
        - {"check": "status_code", "comparator": "eq", "expect": 201}
        - {"check": "content.success", "comparator": "eq", "expect": true}

-
    name: create user which does not exist
    request:
        url: /api/users/1000
        method: POST
        headers:
            Content-Type: application/json
            device_sn: $device_sn
            token: $token
        json:
            name: "user1"
            password: "123456"
    validate:
        - {"check": "status_code", "comparator": "eq", "expect": 500}
        - {"check": "content.success", "comparator": "eq", "expect": false}
