- config:
    name: testcase description
    base_url: http://127.0.0.1:5000
    variables:
        device_sn: ${gen_random_string(15)}

- test:
    name: /api/get-token
    variables:
        app_version: 2.8.6
        os_platform: ios
    request:
        headers:
            Content-Type: application/json
            User-Agent: python-requests/2.18.4
            app_version: $app_version
            device_sn: $device_sn
            os_platform: $os_platform
        json:
            sign: ${get_sign($device_sn, $os_platform, $app_version)}
        method: POST
        url: /api/get-token
    extract:
        token: content.token
    validate:
        - eq: [status_code, 200]
        - eq: [headers.Content-Type, application/json]
        - eq: [content.success, true]

- test:
    name: /api/users/$user_id
    variables:
        user_id: ${gen_user_id()}
    request:
        headers:
            Content-Type: application/json
            User-Agent: python-requests/2.18.4
            device_sn: $device_sn
            token: $token
        json:
            name: user1
            password: '123456'
        method: POST
        url: /api/users/$user_id
    validate:
        - eq: [status_code, 201]
        - eq: [headers.Content-Type, application/json]
        - eq: [content.success, true]
        - eq: [content.msg, user created successfully.]
