*** 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