Clase 2: Postman y Variables

Práctico 2: Postman

 

Documentación de la API para este práctico:

https://github.com/vdespa/introduction-to-postman-course/blob/main/simple-books-api.md

 

Ejercicio

Crear una variable de ambiente llamada bookId. Agregar un valor (4)

 

Crear una request llamada Get a Book Obtener el book 2 pasando el bookId (variable de ambiente) como path variable (/books/:bookId)

 

Autenticar tu usuario

Crear una request tipo POST llamada API Client Registration

Registrar el usuario mediante un POST al endpoint /api-clients/

 

En el body, enviar un JSON 

{

   “clientName”:”UN_NOMBRE”,

   “clientEmail”: “UN_EMAIL”

}

Guardar la respuesta en un archivo

 

 

Ejercicio

Crear una variable de la colección llamada baseUrl que contenga la URL https://simple-books-api.glitch.me 

Asignar la misma tanto al initial value como al current value

Actualizar todas las request con los parámetros

Agregar como variable de la colección el accessToken.



Ejercicio

Agregar una nueva orden de un libro. Nombrar la request cómo “Order a Book”. Enviar como bearer Token el access token



Ejercicio

Obtener todas las órdenes. El nombre de la request debe ser Get all orders




Ejercicio

Crear una request llamada Update an Order que actualice una Orden (/orders/:id). Enviar como parámetro el id de una orden a actualizar. El bearer token debe ser el obtenido en la llamada de Registration API. En el body, enviar uno o varios parámetros a actualizar en formato JSON

​​{

   “customerName”: “Alan”

}

 

Ejercicio

Borrar una orden ( /orders/:orderId )

Enviar como parámetro el orderId a borrar

 

Variables de la colección y variables globales

 

Ejercicio

Actualizar todos los request para utilizar las variables de la colección.

 

Ejercicio

Crear variables globales para almacenar el orderId y bookId.

 

Ejercicio

Actualizar todos los request para utilizar las globales.

 

Ejercicio

Realizar una variable global para que instancie el orderId dentro de la tab Tests en las request que obtiene una orden

 

Ejercicio

Realizar una variable global para que instancie el bookId cuando se obtenga un libro. En caso de que sean varios, obtener el primero.



Autenticar tu usuario

Crear una request tipo POST llamada API Client Registration

Registrar el usuario mediante un POST al endpoint /api-clients/

 

En el body, enviar un JSON 

{  “clientName”:”UN_NOMBRE”,

   “clientEmail”: “UN_EMAIL”

}

Guardar la respuesta en un archivo.

				
					{
	"info": {
		"_postman_id": "817fba88-f255-49cc-be4e-e898a3689361",
		"name": "Clase 2",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "Simple GET",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{BooksUrl}}",
					"host": [
						"{{BooksUrl}}"
					]
				}
			},
			"response": []
		},
		{
			"name": "GET Status",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{BooksUrl}}/status",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"status"
					]
				}
			},
			"response": []
		},
		{
			"name": "Fiction books",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{BooksUrl}}/books?type=fiction&limit=2",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"books"
					],
					"query": [
						{
							"key": "type",
							"value": "fiction"
						},
						{
							"key": "limit",
							"value": "2"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Obtain a Book",
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{BooksUrl}}/books/:bookId",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"books",
						":bookId"
					],
					"variable": [
						{
							"key": "bookId",
							"value": null
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Register an User",
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n   \"clientName\": \"Valentin\",\n   \"clientEmail\": \"curso@selenium.com\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{BooksUrl}}/api-clients/",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"api-clients",
						""
					]
				}
			},
			"response": []
		},
		{
			"name": "New Order",
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"bookId\": 1,\n  \"customerName\": \"John\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{BooksUrl}}/orders",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"orders"
					]
				}
			},
			"response": []
		},
		{
			"name": "New Order Copy",
			"protocolProfileBehavior": {
				"disableBodyPruning": true
			},
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{accessToken}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"bookId\": 1,\n  \"customerName\": \"John\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{BooksUrl}}/orders/:orderId",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"orders",
						":orderId"
					],
					"variable": [
						{
							"key": "orderId",
							"value": "{{OrderId}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Update Order - Customer Name",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{accessToken}}",
							"type": "string"
						}
					]
				},
				"method": "PATCH",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n   \"customerName\": \"Emiliano Gnocchi\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{BooksUrl}}/orders/:orderId",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"orders",
						":orderId"
					],
					"variable": [
						{
							"key": "orderId",
							"value": "{{OrderId}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Delete an order",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{accessToken}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n   \"customerName\": \"Emiliano Gnocchi\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{BooksUrl}}/orders/:orderId",
					"host": [
						"{{BooksUrl}}"
					],
					"path": [
						"orders",
						":orderId"
					],
					"variable": [
						{
							"key": "orderId",
							"value": "{{OrderId}}"
						}
					]
				}
			},
			"response": []
		}
	],
	"variable": [
		{
			"key": "BooksUrl",
			"value": "https://simple-books-api.glitch.me"
		},
		{
			"key": "OrderId",
			"value": "WLV4_pUO8uyUxHXPa1LRO"
		}
	]
}