ogdhcp/tests/API-dhcp/robot/API.robot

86 lines
3.7 KiB
Plaintext

*** Settings ***
Documentation This is a basic skeleton for a Robot Framework test suite.
Library Collections
Library RequestsLibrary
Library BuiltIn
*** Variables ***
${BASE_URL} http://localhost:8005/ogdhcp/v1
${headers} Create Dictionary Content-Type application/json
${new_subnet} Create Dictionary subnetId=2 mask=255.255.255.0 address=192.168.1.0 nextServer=192.168.1.1 bootFileName=pxelinux.0
${modified_subnet} Create Dictionary mask=255.255.192.0 address=192.168.1.0 nextServer=192.168.1.1 bootFileName=pxelinux.0
*** Test Cases ***
Get Status of the DHCP server
[Documentation] Get status of the dhcp server and check services status
[Tags] status
${response}= GET ${BASE_URL}/status
Status Should Be 200
# Convertir la respuesta a JSON usando ${response.json()}
${json}= Set Variable ${response.json()}
# Validar el estado de los servicios
Should Contain ${response.json()} success
Should Contain ${response.json()} message
Should Contain ${response.json()['message']} disk_usage
Should Contain ${response.json()['message']} subnets
Should Contain ${response.json()['message']['disk_usage']} total
# Get all subnets
# [Documentation] Get all subnets
# [Tags] subnets
# ${response}= GET ${BASE_URL}/subnets
# Status Should Be 200
# # Convertir la respuesta a JSON usando ${response.json()}
# ${json}= Set Variable ${response.json()}
# # Obtener la longitud del arreglo JSON
# ${num_elements}= Get Length ${json}
# # Validar el número de elementos
# Should Be Equal As Numbers ${num_elements} 1
# Post a new subnet
# [Documentation] Post a new subnet
# [Tags] subnets
# ${headers}= Create Dictionary Content-Type=application/json
# ${response}= POST ${BASE_URL}/subnets json=${new_subnet} headers=${headers}
# Status Should Be 200
# ${json}= Set Variable ${response.json()}
# Should Be Equal ${json["status"]} success
# Should Be Equal ${json["message"]} Subred creada correctamente
# Should Be Equal ${json["subnetId"]} 2
# Modify a new subnet by id
# [Documentation] Modify a subnet by id
# [Tags] subnets
# # Modificar la subred con id=2
# ${response}= PUT ${BASE_URL}/subnets/2 json=${modified_subnet} headers=${headers}
# Status Should Be 200
# # Verificar la respuesta del PUT
# ${json}= Set Variable ${response.json()}
# Should Be Equal ${json["status"]} success
# Should Be Equal ${json["message"]} Subred modificada correctamente
# Should Be Equal ${json["subnetId"]} 2
# # Obtener todas las subredes y verificar si la subred fue modificada
# ${response_all}= GET ${BASE_URL}/subnets
# Status Should Be 200
# ${json_all}= Set Variable ${response_all.json()}
# # Iterar sobre todas las subredes para encontrar la subred con id=2 y verificar su máscara
# FOR ${subnet} IN @{json_all}
# Run Keyword If '${subnet["id"]}' == '2' Should Be Equal ${subnet["mask"]} 255.255.192.0
# END
# Delete a new subnet by id
# [Documentation] Delete a subnet by id
# [Tags] subnets
# ${response}= DELETE ${BASE_URL}/subnets/2 headers=${headers}
# Status Should Be 200
# ${json}= Set Variable ${response.json()}
# Should Be Equal ${json["status"]} success
# Should Be Equal ${json["message"]} Subred eliminada correctamente
# Should Be Equal ${json["subnetId"]} 2