# core_test
-
  request:
    url: /2013-09-01/classes/TestClass
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_get_success.json
-
  request:
    url: /2013-09-01/classes/TestClass
    method: POST
    body:
      key: "value"
  response:
    status: 201
    file: 2013-09-01_classes_TestClass_post_success.json
-
  request:
    url: /2013-09-01/classes/TestClass/object_id
    method: PUT
    body:
      key: "value_new"
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_put_success.json
-
  request:
    url: /2013-09-01/classes/TestClass/object_id
    method: DELETE
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_delete_success.json

# datastore
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "orange"
      acl: {'*':{read: true}}
  response:
    status: 201
    file: 2013-09-01_classes_food_post_acl_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "orange"
      type: "fruit"
      status: "success"
  response:
    status: 201
    file: 2013-09-01_classes_food_post_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "orange"
      type: "fruit"
      test: null
  response:
    status: 201
    file: 2013-09-01_classes_food_post_success.json

-
  request:
    url: /2013-09-01/classes/food
    method: GET
    query:
      where: '{"objectId":"date_object_id"}'
  response:
    status: 200
    file: 2013-09-01_classes_food_get_date_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      harvestDate: { __type: 'Date', iso: '1999-12-31T14:59:59.999Z'}
  response:
    status: 201
    file: 2013-09-01_classes_food_post_date_jst_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      harvestDate: { __type: 'Date', iso: '1999-12-31T23:59:59.999Z'}
  response:
    status: 201
    file: 2013-09-01_classes_food_post_date_utc_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      geoLocation: { __type: 'GeoPoint', latitude: 12, longitude: 133}
  response:
    status: 201
    file: 2013-09-01_classes_food_post_geolocation_success.json
-
  request:
    url: /2013-09-01/classes/Component
    method: POST
    body:
      calorie: "50"
  response:
    status: 201
    file: 2013-09-01_classes_component_post_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "orange"
      component: { __type: 'Pointer', className: 'Component', objectId: 'component_id' }
  response:
    status: 201
    file: 2013-09-01_classes_food_post_pointer_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "orange"
      member: { __type: 'Pointer', className: 'user', objectId: 'epaKcaYZqsREdSMY' }
  response:
    status: 201
    file: 2013-09-01_classes_food_post_pointer_user_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: GET
    query:
      where: '{"objectId":"geolocation_object_id"}'
  response:
    status: 200
    file: 2013-09-01_classes_food_get_geolocation_success.json
-
  request:
    url: /2013-09-01/classes/nonexist
    method: POST
    body:
      status: failure
  response:
    status: 400
    file: 2013-09-01_classes_nonexist_post_failure.json
-
  request:
    url: /2013-09-01/classes/nonexist
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_nonexist_get_success.json
-
  request:
    url: /2013-09-01/classes/fetchlist
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_fetchlist_get_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: GET
    query:
      where: '{"objectId":"acl_object_id"}'
  response:
    status: 200
    file: 2013-09-01_classes_food_get_acl_success.json

-
  request:
    url: /2013-09-01/classes/food/object_id
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_fetch_success.json

-
  request:
    url: /2013-09-01/classes/food
    method: GET
    query:
      where: '{"objectId":"object_id"}'
  response:
    status: 200
    file: 2013-09-01_classes_food_get_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: GET
    query:
      limit: 1
  response:
    status: 200
    file: 2013-09-01_classes_food_get_success.json
-
  request:
    url: /2013-09-01/classes/food/object_id
    method: PUT
    body:
      key: "value_new"
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_put_success.json

-
  request:
    url: /2013-09-01/classes/food/object_id
    method: PUT
    body:
      key: "value_new"
      relation: { __type: 'Relation', className: 'TestJS'}
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_put_datacontainrelation_success.json

-
  request:
    url: /2013-09-01/classes/food/object_id
    method: DELETE
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_delete_success.json

# push
-
  request:
    url: /2013-09-01/push
    method: POST
    body:
      immediateDeliveryFlag: true
  response:
    status: 201
    file: 2013-09-01_push_post_success.json

-
  request:
    url: /2013-09-01/push
    method: GET
  response:
    status: 200
    file: 2013-09-01_push_get_success.json

-
  request:
    url: /2013-09-01/push/update_push_id
    method: PUT
    body:
      message: "updated"
  response:
    status: 200
    file: 2013-09-01_push_put_success.json

-
  request:
    url: /2013-09-01/push/update_push_id
    method: PUT
    body:
      message: "updated"
      contentAvailable: false
      badgeIncrementFlag: false
      badgeSetting: 1
  response:
    status: 200
    file: 2013-09-01_push_put_badge_success.json

-
  request:
    url: /2013-09-01/classes/TestClass
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_TestClass_get_success.json

-
  request:
    url: /2013-09-01/push/delete_push_id
    method: DELETE
  response:
    status: 200
    body: '{}'

# users/:user
-
  request:
    url: /api/0.0/users/exists_user
    method: GET
  response:
    status: 200
    file: exists_user.json

-
  request:
    url: /api/0.0/users/non_exists_user
    method: GET
  response:
    status: 404
    file: non_exists_user.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      "userName": "Yamada Tarou"
      "password": "password"
  response:
    headers:
      x-ncmb-response-signature: c8mzeCvMdRDK5BgI9vC37d2CsngCYnse2Mxqnr/uF2I=
    status: 201
    file: 2013-09-01_classes_users_post_idpw_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      "userName": "Yamada Tarou"
      "password": "password"
      "test": null
  response:
    status: 201
    file: 2013-09-01_classes_users_post_idpw_success.json
    
-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      "userName": "Yamada Hanako"
      "password": "1234"
  response:
    status: 201
    file: 2013-09-01_classes_users_post_idpw2_success.json

-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      userName: "name"
      password: "passwd"
  response:
    status: 200
    file: 2013-09-01_user_login_namepw_success.json

-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      "userName": "test"
      "password": "test!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~test"
  response:
    status: 200
    file: 2013-09-01_user_login_namepw_success.json

-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      "userName": "Yamada Tarou"
      "password": "password"
  response:
    status: 200
    file: 2013-09-01_user_login_namepw_current_success.json

-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      mailAddress: "mail@example.com"
      password: "passwd"
  response:
    status: 200
    file: 2013-09-01_user_login_mailpw_success.json

-
  request:
    url: /2013-09-01/requestPasswordReset
    method: POST
    body: { "mailAddress": "test@example.com" }
  response:
    status: 201
    file: 2013-09-01_users_send_reset_password_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"facebook":{"id":"100002415159782","access_token":"CAACEdEose0cBAMHWz6HxQSeXJexFhxmfC3rUswuC4G5rcKiTnzdNIRZBJnmnbjVxSAbAZBP6MXKy6gTuPZBVmUEUJ6TgdwY4sCoNNZCIuXJb4EbrJvAPrAvi1KmHXbkiArmC1pro30Eqdbt94YnNz5WsvlAeYKZCZC0ApDuKJpg41ykMuhAO6kvsudbiFkMjNRotp0yLGf1AZDZD","expiration_date":{"__type":"Date","iso":"2013-08-31T07:41:11.906Z"}}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_facebook_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"twitter":{ "id":"887423302", "screen_name": "mobileBackend", "oauth_consumer_key": "ZoL16IzyCEEik4nNTEN9RW", "consumer_secret": "ubFWbG0wL7bub7gnWSkAKAmXj6VZ97DpmK2ZSCc5Opk", "oauth_token": "887423106-VxW8foViKjNDOyCLcC0WhTIyxUo2r3eXLLeogUtB","oauth_token_secret": "gye4VHfEHHBCH34cEJGiAWlukGAEJ6DCixYNU6Mg"}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_twitter_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"google":{ "id":"342304547393343184783", "access_token":"ya29.bAoBfwXmAnEqIVVICriUsrV1BDC1BHJJj1G0-CaasIYvKs-_zFBRvnVYQ4n3NC6bFkNIYbw6vf1eXM" }}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_google_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"apple":{"id":"100002415159782","access_token":"CAACEdEose0cBAMHWz6HxQSeXJexFhxmfC3rUswuC4G5rcKiTnzdNIRZBJnmnbjVxSAbAZBP6MXKy6gTuPZBVmUEUJ6TgdwY4sCoNNZCIuXJb4EbrJvAPrAvi1KmHXbkiArmC1pro30Eqdbt94YnNz5WsvlAeYKZCZC0ApDuKJpg41ykMuhAO6kvsudbiFkMjNRotp0yLGf1AZDZD","client_id":"com.apple.signin-apple"}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_apple_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"apple":{"id":"apple_duplicate_error","access_token":"apple_access_token_duplicate","client_id":"com.apple.signin-apple"}}}
  response:
    status: 409
    file: 2013-09-01_authData_duplicate_error.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"apple":{"id":"apple_authentication_error","access_token":"apple_access_token_authentication","client_id":"com.apple.signin-apple"}}}
  response:
    status: 401
    file: 2013-09-01_authentication_error_apple.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"apple":{"id":"apple_item_settings_error","access_token":"apple_access_token_item_settings","client_id":"com.apple.signin-apple"}}}
  response:
    status: 403
    file: 2013-09-01_item_settings_error_apple.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"updatefield": "updated"}
  response:
    status: 201
    file: 2013-09-01_users_update_success.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"mailAddress": "test@example.com"}
  response:
    status: 201
    file: 2013-09-01_users_update_success.json

-
  request:
    url: /2013-09-01/users/aTAe6VXd3ZElDtlG
    method: PUT
    body: {"authData":{ "anonymous":{"id":"3dc72085-911b-4798-9707-d69e879a6185"}},"userName":"ljmuJgf4ri","updatefield":"updated"}
  response:
    status: 201
    file: 2013-09-01_users_update_success.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"authData":{"apple":{"id":"apple_duplicate_error","access_token":"apple_access_token_duplicate","client_id":"com.apple.signin-apple"}}}
  response:
    status: 409
    file: 2013-09-01_authData_duplicate_error.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"authData":{"apple":{"id":"apple_authentication_error","access_token":"apple_access_token_authentication","client_id":"com.apple.signin-apple"}}}
  response:
    status: 401
    file: 2013-09-01_authentication_error_apple.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"authData":{"apple":{"id":"apple_item_settings_error","access_token":"apple_access_token_item_settings","client_id":"com.apple.signin-apple"}}}
  response:
    status: 403
    file: 2013-09-01_item_settings_error_apple.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: {"authData":{"apple":{"id":"100002415159782","access_token":"CAACEdEose0cBAMHWz6HxQSeXJexFhxmfC3rUswuC4G5rcKiTnzdNIRZBJnmnbjVxSAbAZBP6MXKy6gTuPZBVmUEUJ6TgdwY4sCoNNZCIuXJb4EbrJvAPrAvi1KmHXbkiArmC1pro30Eqdbt94YnNz5WsvlAeYKZCZC0ApDuKJpg41ykMuhAO6kvsudbiFkMjNRotp0yLGf1AZDZD","client_id":"com.apple.signin-apple"}}}
  response:
    status: 201
    file: 2013-09-01_users_update_success.json

-
  request:
    url: /2013-09-01/users/objectid
    method: PUT
    body: 
      authData:
        apple: null
      
  response:
    status: 201
    file: 2013-09-01_users_update_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      authData:
        anonymous:
          id: "3dc72085-911b-4798-9707-d69e879a6185"
  response:
    status: 200
    file: 2013-09-01_users_login_as_anonymous_success.json
-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      uuid: "3dc72085-911b-4798-9707-d69e879a6185"
      authData:
        anonymous:
          id: "3dc72085-911b-4798-9707-d69e879a6185"
  response:
    status: 200
    file: 2013-09-01_users_login_as_anonymous_uuid_success.json

-
  request:
    url: /2013-09-01/requestMailAddressUserEntry
    method: POST
    body:
      "mailAddress": "test@example.com"
  response:
    status: 201
    file: 2013-09-01_users_send_signup_mail_success.json

-
  request:
    url: /2013-09-01/requestMailAddressUserEntry
    method: POST
    body:
      "mailAddress": "usedaddress@example.com"
  response:
    status: 409
    file: 2013-09-01_users_send_signup_mail_failed.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"facebook":{"id":"100002415159782","access_token":"CAACEdEose0cBAMHWz6HxQSeXJexFhxmfC3rUswuC4G5rcKiTnzdNIRZBJnmnbjVxSAbAZBP6MXKy6gTuPZBVmUEUJ6TgdwY4sCoNNZCIuXJb4EbrJvAPrAvi1KmHXbkiArmC1pro30Eqdbt94YnNz5WsvlAeYKZCZC0ApDuKJpg41ykMuhAO6kvsudbiFkMjNRotp0yLGf1AZDZD","expiration_date":{"__type":"Date","iso":"2013-08-31T07:41:11.906Z"}}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_facebook_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"twitter":{ "id":"887423302", "screen_name": "mobileBackend", "oauth_consumer_key": "ZoL16IzyCEEik4nNTEN9RW", "consumer_secret": "ubFWbG0wL7bub7gnWSkAKAmXj6VZ97DpmK2ZSCc5Opk", "oauth_token": "887423106-VxW8foViKjNDOyCLcC0WhTIyxUo2r3eXLLeogUtB","oauth_token_secret": "gye4VHfEHHBCH34cEJGiAWlukGAEJ6DCixYNU6Mg"}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_twitter_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"google":{ "id":"342304547393343184783", "access_token":"ya29.bAoBfwXmAnEqIVVICriUsrV1BDC1BHJJj1G0-CaasIYvKs-_zFBRvnVYQ4n3NC6bFkNIYbw6vf1eXM" }}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_google_success.json

-
  request:
    url: /2013-09-01/users
    method: POST
    body: {"authData":{"apple":{"id":"100002415159782","access_token":"CAACEdEose0cBAMHWz6HxQSeXJexFhxmfC3rUswuC4G5rcKiTnzdNIRZBJnmnbjVxSAbAZBP6MXKy6gTuPZBVmUEUJ6TgdwY4sCoNNZCIuXJb4EbrJvAPrAvi1KmHXbkiArmC1pro30Eqdbt94YnNz5WsvlAeYKZCZC0ApDuKJpg41ykMuhAO6kvsudbiFkMjNRotp0yLGf1AZDZD","client_id":"com.apple.signin-apple"}}}
  response:
    status: 200
    file: 2013-09-01_classes_users_post_apple_success.json

-
  request:
    url: /2013-09-01/logout
    method: GET
  response:
    status: 200
    body: '{}'

# files
-
  request:
    url: /2013-09-01/files/upload.text
    method: POST
    body:
  response:
    status: 201
    file: 2013-09-01_file_upload_success.json
-
  request:
    url: /2013-09-01/files/del_file.text
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/users/object_id
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/users/aTAe6VXd3ZElDtlG
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/files/fetch_file.text
    method: GET
    query:
  response:
    status: 200
    file: 2013-09-01_file_download_success.json
-
  request:
    url: /2013-09-01/files/fetch_with_responsetype.text
    method: GET
  response:
    status: 200
    file: 2013-09-01_file_download_success.json
-
  request:
    url: /2013-09-01/files/update_file.text
    method: PUT
    body: { acl: { abc: { write: true } } }
  response:
    status: 200
    file: 2013-09-01_file_update_acl_success.json
-
  request:
    url: /2013-09-01/files
    method: GET
  response:
    status: 200
    file: 2013-09-01_file_fetchAll_success.json
# roles
-
  request:
    url: /2013-09-01/roles/update_role_id
    method: PUT
    body:
      roleName: "updated_role_name"
  response:
    status: 200
    file: 2013-09-01_role_put_success.json
-
  request:
    url: /2013-09-01/roles/no_exist_role_id
    method: PUT
    body:
      roleName: "updated_role_name"
  response:
    status: 404
    file: 2013-09-01_no_exist_role_put_failed.json
-
  request:
    url: /2013-09-01/roles/delete_role_id
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/roles/no_exist_role_id
    method: DELETE
  response:
    status: 404
    body: '{"code":"E404001","error":"No data available."}'
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "new_role_name"
  response:
    status: 201
    file: 2013-09-01_role_post_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "subRole"
  response:
    status: 201
    file: 2013-09-01_role_post_sub_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "subRole2"
  response:
    status: 201
    file: 2013-09-01_role_post_sub2_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "new_exist_role_name"
  response:
    status: 409
    file: 2013-09-01_classes_exist_role_failure.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "mainRole"
      belongUser:
        __op: "AddRelation"
        objects: [{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"}]
  response:
    status: 201
    file: 2013-09-01_role_adduser_post_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "mainRole"
      belongUser:
        __op: "AddRelation"
        objects: [{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"},{"__type":"Pointer","className":"user","objectId":"ppaKcaYZqsREdSMY"}]
  response:
    status: 201
    file: 2013-09-01_role_adduser_double_post_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "mainRole"
      belongRole:
        __op: "AddRelation"
        objects: [{"__type":"Pointer","className":"role","objectId":"subrole_objectId"}]
  response:
    status: 201
    file: 2013-09-01_role_addrole_post_success.json
-
  request:
    url: /2013-09-01/roles
    method: POST
    body:
      roleName: "mainRole"
      belongRole:
        __op: "AddRelation"
        objects: [{"__type":"Pointer","className":"role","objectId":"subrole_objectId"},{"__type":"Pointer","className":"role","objectId":"subrole2_objectId"}]
  response:
    status: 201
    file: 2013-09-01_role_addrole_double_post_success.json
-
  request:
    url: /2013-09-01/roles/adduser_objectId
    method: PUT
    body:
      roleName: "mainRole"
      belongUser:
        __op: "RemoveRelation"
        objects: [{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"}]
  response:
    status: 201
    file: 2013-09-01_role_put_success.json
-
  request:
    url: /2013-09-01/roles/adduser_double_objectId
    method: PUT
    body:
      roleName: "mainRole"
      belongUser:
        __op: "RemoveRelation"
        objects: [{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"},{"__type":"Pointer","className":"user","objectId":"ppaKcaYZqsREdSMY"}]
  response:
    status: 201
    file: 2013-09-01_role_put_success.json
-
  request:
    url: /2013-09-01/roles/addrole_objectId
    method: PUT
    body:
      roleName: "mainRole"
      belongRole:
        __op: "RemoveRelation"
        objects: [{"__type":"Pointer","className":"role","objectId":"subrole_objectId"}]
  response:
    status: 201
    file: 2013-09-01_role_put_success.json
-
  request:
    url: /2013-09-01/roles/addrole_double_objectId
    method: PUT
    body:
      roleName: "mainRole"
      belongRole:
        __op: "RemoveRelation"
        objects: [{"__type":"Pointer","className":"role","objectId":"subrole_objectId"},{"__type":"Pointer","className":"role","objectId":"subrole2_objectId"}]
  response:
    status: 201
    file: 2013-09-01_role_put_success.json
-
  request:
    url: /2013-09-01/users
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"role_id"},"key":"belongUser"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchuser_success.json
-
  request:
    url: /2013-09-01/users
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"adduser_objectId"},"key":"belongUser"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchuser_success.json
-
  request:
    url: /2013-09-01/users
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"adduser_double_objectId"},"key":"belongUser"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchuser_double_success.json
-
  request:
    url: /2013-09-01/roles
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"role_id"},"key":"belongRole"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchrole_success.json
-
  request:
    url: /2013-09-01/roles
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"addrole_objectId"},"key":"belongRole"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchrole_success.json
-
  request:
    url: /2013-09-01/roles
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"role","objectId":"addrole_double_objectId"},"key":"belongRole"}}'
  response:
    status: 200
    file: 2013-09-01_role_get_fetchrole_double_success.json

# query
-
  request:
    url: /2013-09-01/classes/QueryTestFetchById/fetchById_object_1
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_byid_success.json
-
  request:
    url: /2013-09-01/classes/EmptyQueryTest/empty_id
    method: GET
  response:
    status: 404
    file: 2013-09-01_classes_querytest_get_byid_failure.json
-
  request:
    url: /2013-09-01/classes/QueryTestWhere
    method: GET
    query:
      where: '{"number":1}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_where_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestEqualTo
    method: GET
    query:
      where: '{"number":1}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_equalto_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestNotEqualTo
    method: GET
    query:
      where: '{"number":{"$ne":2}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notequalto_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestLessThan
    method: GET
    query:
      where: '{"number":{"$lt":2}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_lessthan_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestLessThanOrEqualTo
    method: GET
    query:
      where: '{"number":{"$lte":1}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_lessthanor_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestGreaterThan
    method: GET
    query:
      where: '{"number":{"$gt":1}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_greaterthan_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestGreaterThanOrEqualTo
    method: GET
    query:
      where: '{"number":{"$gte":2}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_greaterthanor_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestIn
    method: GET
    query:
      where: '{"number":{"$in":[1,3,4]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_in_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestNotIn
    method: GET
    query:
      where: '{"number":{"$nin":[2,3,4]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notin_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestExists
    method: GET
    query:
      where: '{"name":{"$exists":true}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_exists_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestExists
    method: GET
    query:
      where: '{"name":{"$exists":false}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_exists_false.json
-
  request:
    url: /2013-09-01/classes/QueryTestRegularExpressionTo
    method: GET
    query:
      where: '{"regex":{"$regex":"regex"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_regex_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestRegularExpressionTo
    method: GET
    query:
      where: '{"regex":{"$regex":"^for"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_regex_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestRegularExpressionTo
    method: GET
    query:
      where: '{"regex":{"$regex":"back$"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_regex_back_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestInArray
    method: GET
    query:
      where: '{"array":{"$inArray":[1,5,6]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_inarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestInArray
    method: GET
    query:
      where: '{"array":{"$inArray":[1]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_inarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestNotInArray
    method: GET
    query:
      where: '{"array":{"$ninArray":[4,5,6]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notinarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestNotInArray
    method: GET
    query:
      where: '{"array":{"$ninArray":[4]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notinarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestAllInArray
    method: GET
    query:
      where: '{"array":{"$all":[1,2,3]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_allinarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestAllInArray
    method: GET
    query:
      where: '{"array":{"$all":[1]}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_allinarray_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestNear
    method: GET
    query:
      where: '{"location":{"$nearSphere":{"__type":"GeoPoint","latitude":0,"longitude":0}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_near_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestWithinKm
    method: GET
    query:
      where: '{"location":{"$nearSphere":{"__type":"GeoPoint","latitude":0,"longitude":0},"$maxDistanceInKilometers":1000}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_withinkm_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestWithinMile
    method: GET
    query:
      where: '{"location":{"$nearSphere":{"__type":"GeoPoint","latitude":0,"longitude":0},"$maxDistanceInMiles":1000}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_withinmile_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestWithinRad
    method: GET
    query:
      where: '{"location":{"$nearSphere":{"__type":"GeoPoint","latitude":0,"longitude":0},"$maxDistanceInRadians":0.5}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_withinrad_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestWithinSquare
    method: GET
    query:
      where: '{"location":{"$within":{"$box":[{"__type":"GeoPoint","latitude":0,"longitude":0},{"__type":"GeoPoint","latitude":80,"longitude":80}]}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_withinsquare_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestOr
    method: GET
    query:
      where: '{"$or":[{"number":{"$gt":2}},{"number":{"$lt":2}}]}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_or_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestSelect
    method: GET
    query:
      where: '{"city":{"$select":{"query":{"className":"SubQuery","where":{"population":{"$gt":10000000}}},"key":"cityName"}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_select_success.json
-  
  request:
    url: /2013-09-01/classes/QueryTestSelectLimitSkip
    method: GET
    query:
      where: '{"city":{"$select":{"query":{"className":"SubQuery","where":{"population":{"$gt":10000000}},"limit":1,"skip":1},"key":"cityName"}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_select_limit_skip_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestRelatedTo
    method: GET
    query:
      where: '{"$relatedTo":{"object":{"__type":"Pointer","className":"BaseClass","objectId":"base_id"},"key":"belongs"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_related_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestInQuery
    method: GET
    query:
      where: '{"pointer":{"$inQuery":{"where":{"status":"pointed"},"className":"SubQuery"}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_inquery_success.json

-
  request:
    url: /2013-09-01/classes/QueryTestInQueryLimitSkip
    method: GET
    query:
      where: '{"pointer":{"$inQuery":{"where":{"status":"pointed"},"className":"SubQuery","limit":1,"skip":1}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_inquery_success.json

-
  request:
    url: /2013-09-01/classes/QueryTestInclude
    method: GET
    query:
      where: '{"pointer":{"$exists":true}}'
      include: "pointer"
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_include_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestInclude
    method: GET
    query:
      where: '{"pointer":{"$exists":true}}'
      include: "pointer,object"
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_include_double_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestCount
    method: GET
    query:
      count: 1
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_count_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestCount
    method: GET
    query:
      count: 1
      where: '{"nullField":"exist"}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_count_zero_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestOrder
    method: GET
    query:
      order: "number"
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_order_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestOrder
    method: GET
    query:
      order: "-number"
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_desorder_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestOrder
    method: GET
    query:
      order: "number,order"
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_order_double_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestLimit
    method: GET
    query:
      limit: 1
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_limit_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestSkip
    method: GET
    query:
      skip: 1
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_skip_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestFetch
    method: GET
    query:
      limit: 1
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_fetch_success.json
-
  request:
    url: /2013-09-01/classes/EmptyQueryTest
    method: GET
    query:
      limit: 1
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_empty.json
-
  request:
    url: /2013-09-01/classes/QueryTestFetchAll
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_fetchall_success.json
-
  request:
    url: /2013-09-01/classes/EmptyQueryTest
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_empty.json
-
  request:
    url: /2013-09-01/classes/QueryTestDate
    method: GET
    query:
      where: '{"date":{"__type":"Date","iso":"2015-07-29T14:59:59.999Z"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_equalto_date_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestDate
    method: GET
    query:
      where: '{"date":{"__type":"Date","iso":"2015-07-29T23:59:59.999Z"}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_equalto_date_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestDate
    method: GET
    query:
      where: '{"date":{"$ne":{"__type":"Date","iso":"2015-07-29T14:59:59.999Z"}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notequalto_date_success.json
-
  request:
    url: /2013-09-01/classes/QueryTestDate
    method: GET
    query:
      where: '{"date":{"$ne":{"__type":"Date","iso":"2015-07-29T23:59:59.999Z"}}}'
  response:
    status: 200
    file: 2013-09-01_classes_querytest_get_notequalto_date_success.json

# relation

-
  request:
    url: /2013-09-01/roles
    method: POST
    body: {"roleName": "role_name"}
  response:
    status: 201
    file: 2013-09-01_role_post_success.json

-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "apple"
      type: "fruit"
      status: "success"
  response:
    status: 201
    file: 2013-09-01_classes_food_apple_post_success.json
-
  request:
    url: /2013-09-01/classes/food
    method: POST
    body:
      name: "grape"
      type: "fruit"
      status: "success"
  response:
    status: 201
    file: 2013-09-01_classes_food_grape_post_success.json
-
  request:
    url: /2013-09-01/classes/MainObj
    method: POST
    body: {"relation":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"food","objectId":"object_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_post_success.json
-
  request:
    url: /2013-09-01/classes/MainObj
    method: POST
    body: {"relation":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_post_user_success.json
-
  request:
    url: /2013-09-01/classes/MainObj
    method: POST
    body: {"relation":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"role","objectId":"role_objectId"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_post_role_success.json
-
  request:
    url: /2013-09-01/classes/MainObj
    method: POST
    body: {"relation":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"food","objectId":"object_id"},{"__type":"Pointer","className":"food","objectId":"apple_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_post_multi_success.json
-
  request:
    url: /2013-09-01/classes/MainObj
    method: POST
    body: {"relation":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"food","objectId":"apple_id"},{"__type":"Pointer","className":"food","objectId":"object_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_post_multi_success.json

-
  request:
    url: /2013-09-01/classes/MainObj/remove_id
    method: PUT
    body: {"relation":{"__op":"RemoveRelation","objects":[{"__type":"Pointer","className":"food","objectId":"object_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_put_success.json
-
  request:
    url: /2013-09-01/classes/MainObj/remove_user_id
    method: PUT
    body: {"relation":{"__op":"RemoveRelation","objects":[{"__type":"Pointer","className":"user","objectId":"epaKcaYZqsREdSMY"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_put_user_success.json
-
  request:
    url: /2013-09-01/classes/MainObj/remove_role_id
    method: PUT
    body: {"relation":{"__op":"RemoveRelation","objects":[{"__type":"Pointer","className":"role","objectId":"role_objectId"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_put_role_success.json
-
  request:
    url: /2013-09-01/classes/MainObj/remove_multi_id
    method: PUT
    body: {"relation":{"__op":"RemoveRelation","objects":[{"__type":"Pointer","className":"food","objectId":"object_id"},{"__type":"Pointer","className":"food","objectId":"apple_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_put_multi_success.json
-
  request:
    url: /2013-09-01/classes/MainObj/remove_multi_id
    method: PUT
    body: {"relation":{"__op":"RemoveRelation","objects":[{"__type":"Pointer","className":"food","objectId":"apple_id"},{"__type":"Pointer","className":"food","objectId":"object_id"}]}}
  response:
    status: 201
    file: 2013-09-01_classes_relation_put_multi_success.json

# installation
-
  request:
    url: /2013-09-01/installations
    method: GET
  response:
    status: 200
    file: 2013-09-01_installation_get_success.json

-
  request:
    url: /2013-09-01/installations/update_installation_id
    method: PUT
    body:
      status: "updated"
  response:
    status: 200
    file: 2013-09-01_installation_put_success.json

-
  request:
    url: /2013-09-01/installations/delete_installation_id
    method: DELETE
  response:
    status: 200
    body: '{}'

# script
-
  request:
    url: /2015-09-01/script/execGetText.js
    method: GET
  response:
    status: 200
    body: get_text

-
  request:
    url: /2015-09-01/script/execPostText.js
    method: POST
  response:
    status: 200
    body: post_text

-
  request:
    url: /2015-09-01/script/execPutText.js
    method: PUT
  response:
    status: 200
    body: put_text

-
  request:
    url: /2015-09-01/script/execDeleteText.js
    method: DELETE
  response:
    status: 200
    body: delete_text

-
  request:
    url: /2015-09-01/script/execGetJson.js
    method: GET
  response:
    status: 200
    file: 2015-09-01_script_get_json.json
-
  request:
    url: /2015-09-01/script/execPostJson.js
    method: POST
  response:
    status: 200
    file: 2015-09-01_script_post_json.json

-
  request:
    url: /2015-09-01/script/execPutJson.js
    method: PUT
  response:
    status: 200
    file: 2015-09-01_script_put_json.json

-
  request:
    url: /2015-09-01/script/execDeleteJson.js
    method: DELETE
  response:
    status: 200
    file: 2015-09-01_script_delete_json.json

-
  request:
    url: /2015-09-01/script/execGetWithHeader.js
    method: GET
    header:
      testHeader: testHeaderValue
  response:
    status: 200
    body: get_with_header

-
  request:
    url: /2015-09-01/script/execPostWithHeader.js
    method: POST
    header:
      testHeader: testHeaderValue
  response:
    status: 200
    body: post_with_header

-
  request:
    url: /2015-09-01/script/execPutWithHeader.js
    method: PUT
    header:
      testHeader: testHeaderValue
  response:
    status: 200
    body: put_with_header

-
  request:
    url: /2015-09-01/script/execDeleteWithHeader.js
    method: DELETE
    header:
      testHeader: testHeaderValue
  response:
    status: 200
    body: delete_with_header

-
  request:
    url: /2015-09-01/script/execPostWithData.js
    method: POST
    body:
      testData: testDataValue
  response:
    status: 200
    body: post_with_data

-
  request:
    url: /2015-09-01/script/execPutWithData.js
    method: PUT
    body:
      testData: testDataValue
  response:
    status: 200
    body: put_with_data

-
  request:
    url: /2015-09-01/script/execGetWithQuery.js
    method: GET
    query:
      testQuery: testQueryValue
  response:
    status: 200
    body: get_with_query

-
  request:
    url: /2015-09-01/script/execPostWithQuery.js
    method: POST
    query:
      testQuery: testQueryValue
  response:
    status: 200
    body: post_with_query

-
  request:
    url: /2015-09-01/script/execPutWithQuery.js
    method: PUT
    query:
      testQuery: testQueryValue
  response:
    status: 200
    body: put_with_query

-
  request:
    url: /2015-09-01/script/execDeleteWithQuery.js
    method: DELETE
    query:
      testQuery: testQueryValue
  response:
    status: 200
    body: delete_with_query

-
  request:
    url: /2015-09-01/script/execMethodChain.js
    method: POST
    header:
      testHeader_1: testHeaderValue_1
      testHeader_2: testHeaderValue_2
    body:
      testData_1: testDataValue_1
      testData_2: testDataValue_2
    query:
      testQuery_1: testQueryValue_1
      testQuery_2: testQueryValue_2
  response:
    status: 200
    body: method_chain

-
  request:
    url: /2015-09-01/script/execGetInternalError.js
    method: GET
  response:
    status: 500
    body: unreachable_get_internal_error

-
  request:
    url: /2015-09-01/script/execPostInternalError.js
    method: POST
  response:
    status: 500
    body: unreachable_post_internal_error

-
  request:
    url: /2015-09-01/script/execPutInternalError.js
    method: PUT
  response:
    status: 500
    body: unreachable_put_internal_error

-
  request:
    url: /2015-09-01/script/execDeleteInternalError.js
    method: DELETE
  response:
    status: 500
    body: unreachable_delete_internal_error

-
  request:
    url: /2015-09-01/script/execGetNotFound.js
    method: GET
  response:
    status: 404
    body: unreachable_get_not_found

-
  request:
    url: /2015-09-01/script/execPostNotFound.js
    method: POST
  response:
    status: 404
    body: unreachable_post_not_found

-
  request:
    url: /2015-09-01/script/execPutNotFound.js
    method: PUT
  response:
    status: 404
    body: unreachable_put_not_found

-
  request:
    url: /2015-09-01/script/execDeleteNotFound.js
    method: DELETE
  response:
    status: 404
    body: unreachable_delete_not_found

-
  request:
    url: /2015-09-01/script/execGetWithLowerCase.js
    method: GET
  response:
    status: 200
    body: get_with_lower_case

#operation
-
  request:
    url: /2013-09-01/classes/increment
    method: POST
    body:
      increment: 2
  response:
    status: 201
    file: 2013-09-01_classes_increment_save_success.json

-
  request:
    url: /2013-09-01/classes/increment
    method: POST
    body:
      increment: 1
  response:
    status: 201
    file: 2013-09-01_classes_increment_save_no_amount_success.json

-
  request:
    url: /2013-09-01/classes/increment
    method: POST
    body:
      increment: 5
  response:
    status: 201
    file: 2013-09-01_classes_increment_save_multiple_increment_operation_success.json

-
  request:
    url: /2013-09-01/classes/increment
    method: POST
    body:
      increment: 4
  response:
    status: 201
    file: 2013-09-01_classes_increment_save_multiple_increment_operation_with_method_chain_success.json

-
  request:
    url: /2013-09-01/classes/increment
    method: POST
    body:
      increment: 6
  response:
    status: 201
    file: 2013-09-01_classes_increment_save_override_amount_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithAmount
    method: PUT
    body:
      increment: { __op: 'Increment', amount: 1 }
  response:
    status: 200
    file: 2013-09-01_classes_increment_update_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithAmount
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithAmount.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithAmountSave
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithAmountSave.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithoutAmount
    method: PUT
    body:
      increment: { __op: 'Increment', amount: 1 }
  response:
    status: 200
    file: 2013-09-01_classes_increment_update_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithoutAmount
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithoutAmount.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithoutAmountSave
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithoutAmountSave.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementMultiple
    method: PUT
    body:
      increment: { __op: 'Increment', amount: 5 }
  response:
    status: 200
    file: 2013-09-01_classes_increment_update_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementMultiple
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementMultiple.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementMultipleSave
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementMultipleSave.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithMethodChain
    method: PUT
    body:
      increment: { __op: 'Increment', amount: 4 }
  response:
    status: 200
    file: 2013-09-01_classes_increment_update_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithMethodChain
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithMethodChain.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsSetIncrementWithMethodChainSave
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsSetIncrementWithMethodChainSave.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsOverrideOperation
    method: PUT
    body:
      increment: { __op: 'Increment', amount: 6 }
  response:
    status: 200
    file: 2013-09-01_classes_increment_update_success.json

-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsOverrideOperation
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsOverrideOperation.json
-
  request:
    url: /2013-09-01/classes/increment/validObjIdThatIsOverrideOperationSave
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_increment_get_validObjIdThatIsOverrideOperationSave.json

-
  request:
    url: /2013-09-01/classes/adds
    method: POST
    body:
      key: [1,2,3,4]
  response:
    status: 201
    file: 2013-09-01_classes_add_save_success.json

-
  request:
    url: /2013-09-01/classes/adds
    method: POST
    body:
      key: [1]
  response:
    status: 201
    file: 2013-09-01_classes_add_one_value_save_success.json

-
  request:
    url: /2013-09-01/classes/adds
    method: POST
    body:
      key: [1,2,3,4,5,6]
  response:
    status: 201
    file: 2013-09-01_classes_add_multi_value_save_success.json

-
  request:
    url: /2013-09-01/classes/adds
    method: POST
    body:
      key: [1,2,3,4,5]
  response:
    status: 201
    file: 2013-09-01_classes_add_multi2_value_save_success.json

-
  request:
    url: /2013-09-01/classes/adds
    method: POST
    body:
      key: [1,2,3]
  response:
    status: 201
    file: 2013-09-01_classes_add_override_value_save_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id
    method: PUT
    body:
      key: { __op: 'Add', objects: [1,2,3,4] }
  response:
    status: 200
    file: 2013-09-01_classes_add_update_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id.json
-
  request:
    url: /2013-09-01/classes/adds/add_id_save
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id_save.json

-
  request:
    url: /2013-09-01/classes/adds/add_id2
    method: PUT
    body:
      key: { __op: 'Add', objects: [1] }
  response:
    status: 200
    file: 2013-09-01_classes_add_update_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id2
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id2.json
-
  request:
    url: /2013-09-01/classes/adds/add_id2_save
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id2_save.json

-
  request:
    url: /2013-09-01/classes/adds/add_id3
    method: PUT
    body:
      key: { __op: 'Add', objects: [1,2,3,4,5,6] }
  response:
    status: 200
    file: 2013-09-01_classes_add_update_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id3
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id3.json
-
  request:
    url: /2013-09-01/classes/adds/add_id3_save
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id3_save.json

-
  request:
    url: /2013-09-01/classes/adds/add_id4
    method: PUT
    body:
      key: { __op: 'Add', objects: [4,2,3,4,5,6] }
  response:
    status: 200
    file: 2013-09-01_classes_add_update_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id4
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id4.json
-
  request:
    url: /2013-09-01/classes/adds/add_id4_save
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id4_save.json
-
  request:
    url: /2013-09-01/classes/adds/add_id5
    method: PUT
    body:
      key: { __op: 'Add', objects: [1,2,4] }
  response:
    status: 200
    file: 2013-09-01_classes_add_update_success.json

-
  request:
    url: /2013-09-01/classes/adds/add_id5
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id5.json
-
  request:
    url: /2013-09-01/classes/adds/add_id5_save
    method: GET
  response:
    status: 200
    file: 2013-09-01_classes_add_get_id5_save.json

# response_error_test
-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      userName: "wronguser"
      password: "wrongpassword"
  response:
    status: 401
    file: 2013-09-01_responseErrorTest_authenticationWithIdPwdIncorrect_error.json

-
  request:
    url: /2013-09-01/classes/WrongAppKeyAndClientKey
    method: POST
    body:
      key: value
  response:
    status: 404
    file: 2013-09-01_responseErrorTest_noSuchApplication_error.json
-
  request:
    url: /2013-09-01/users/HwwaZ60AOTdKRWyC
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/users/userlogindummyid
    method: GET
  response:
    status: 401
    file: 2013-09-01_authentication_error_user.json
-
  request:
    url: /2013-09-01/classes/drink
    method: GET
  response:
    status: 401
    file: 2013-09-01_authentication_error_user.json
-
  request:
    url: /2013-09-01/users/dummyAllowUserId
    method: GET
  response:
    status: 401
    file: 2013-09-01_authentication_error_user.json
-
  request:
    url: /2013-09-01/users/usernotfound
    method: GET
  response:
    status: 404
    file: 2013-09-01_no_data_error.json
-
  request:
    url: /2013-09-01/classes/drinknotfound
    method: GET
  response:
    status: 404
    file: 2013-09-01_no_data_error.json
-
  request:
    url: /2013-09-01/users/dummyAllowUserIdnotfound
    method: GET
  response:
    status: 404
    file: 2013-09-01_no_data_error.json

-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      userName: "userLoginName"
      password: "userPasswd"
  response:
    status: 200
    file: 2013-09-01_user_login_name_password_success.json
-
  request:
    url: /2013-09-01/users/dummyCurrentUserId
    method: GET
  response:
    status: 200
    file: 2013-09-01_user_login_name_password_success.json
-
  request:
    url: /2013-09-01/users/dummyCurrentUserId
    method: PUT
    body: {"userName":"userLoginName","authData":null,"updatefield":"updated"}
  response:
    status: 201
    file: 2013-09-01_users_update_success.json
-
  request:
    url: /2013-09-01/users
    method: POST
    body:
      "userName": "Yamada Tarou"
      "password": "password"
      "objectId": "dummyCurrentUserId"
      "mailAddress": null
      "mailAddressConfirm": null
      "sessionToken": "dummySessionToken"
      "createDate": "2015-05-28T05:55:57.027Z"
      "updateDate": "2015-05-28T05:56:55.119Z"
      "authData": null
  response:
    status: 201
    file: 2013-09-01_classes_users_post_idpw_success.json
-
  request:
    url: /2013-09-01/users/dummyCurrentUserId
    method: DELETE
  response:
    status: 200
    body: '{}'
-
  request:
    url: /2013-09-01/users/allowUser
    method: GET
  response:
    status: 200
    file: 2013-09-01_user_allow_fetch_success copy.json
-
  request:
    url: /2013-09-01/login
    method: POST
    body:
      userName: "userDummyLogin"
      password: "userPasswd"
  response:
    status: 200
    file: 2013-09-01_user_login_name_password_dummyid_success.json
