From 5f02540a63a650080e76f03843ce54bcd68b25bb Mon Sep 17 00:00:00 2001 From: Anthony Lopilato Date: Tue, 9 Dec 2025 13:27:12 -0500 Subject: [PATCH 1/3] Initial web service implementation. --- .gitignore | 1 + Instructions.md | 25 ++++++++++++ dev.txt | 5 +++ docker-compose.yml | 25 ++++++++++++ flask_api/Dockerfile | 12 ++++++ flask_api/app.py | 84 ++++++++++++++++++++++++++++++++++++++ flask_api/requirements.txt | 4 ++ init_db.sql | 0 8 files changed, 156 insertions(+) create mode 100644 .gitignore create mode 100644 Instructions.md create mode 100644 dev.txt create mode 100644 docker-compose.yml create mode 100644 flask_api/Dockerfile create mode 100644 flask_api/app.py create mode 100644 flask_api/requirements.txt create mode 100644 init_db.sql diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..600d2d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode \ No newline at end of file diff --git a/Instructions.md b/Instructions.md new file mode 100644 index 0000000..edc7072 --- /dev/null +++ b/Instructions.md @@ -0,0 +1,25 @@ +## To start the service: +1. Run `docker compose up` from the root directory + + + +## To test the service: +1. Create the database `servers` table with `docker exec -it psql -U your_username -d your_database` +2. Run the init_db.sql script againt this table to create the servers table. +3. Run POST requests against the API like this: + - List Servers : `curl http://127.0.0.1:5001/servers` + resp: [{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"}] + - Create Server: ``` + curl -X POST http://localhost:5001/servers \ + -H "Content-Type: application/json" \ + -d '{"hostname": "blahblah", "ip_address":"10.0.0.0", "state":"active"}' + {"id": 1}``` + + - Get Server: ``` + curl http://127.0.0.1:5001/servers/1 +{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"} ``` + + - Update Server: + curl -X PUT http://127.0.0.1:5001/servers/1 -H "Content-Type: application/json" -d{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"}' + + diff --git a/dev.txt b/dev.txt new file mode 100644 index 0000000..40f079f --- /dev/null +++ b/dev.txt @@ -0,0 +1,5 @@ +# This is the db table schema +ID, +Hostname, (Unique String) +IP Address (String looks like a IP address) +State (Enum - active, offline, retired) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e225531 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +services: + postgres: + image: postgres:latest + container_name: postgres_container + environment: + POSTGRES_USER: your_username + POSTGRES_PASSWORD: your_password + POSTGRES_DB: your_database + ports: + - "5432:5432" + volumes: + - ./init_db.sql:/docker-entrypoint-initdb.d/init_db.sql + + + flask_api: + build: + context: ./flask_api + container_name: flask_api_container + ports: + - "5001:5000" + depends_on: + - postgres + + + diff --git a/flask_api/Dockerfile b/flask_api/Dockerfile new file mode 100644 index 0000000..b9dad08 --- /dev/null +++ b/flask_api/Dockerfile @@ -0,0 +1,12 @@ + +FROM python:3.9-slim + +WORKDIR /app + +COPY requirements.txt requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + + +CMD ["flask", "run", "--host=0.0.0.0", "--port=5000"] \ No newline at end of file diff --git a/flask_api/app.py b/flask_api/app.py new file mode 100644 index 0000000..6d7a77f --- /dev/null +++ b/flask_api/app.py @@ -0,0 +1,84 @@ +from flask import Flask, request, jsonify +from flask_restful import Api, Resource +import psycopg2 +from psycopg2.extras import RealDictCursor + +app = Flask(__name__) +api = Api(app) + +# Database connection +def get_db_connection(): + return psycopg2.connect( + host="postgres_container", + database="your_database", + user="your_username", + password="your_password", + cursor_factory=RealDictCursor + ) + +class ServerList(Resource): + def get(self): + with get_db_connection() as conn: + with conn.cursor() as cur: + cur.execute("SELECT * FROM servers;") + servers = cur.fetchall() + return jsonify(servers) + + def post(self): + data = request.get_json() + hostname = data.get("hostname") + ip_address = data.get("ip_address") + state = data.get("state") + + with get_db_connection() as conn: + with conn.cursor() as cur: + cur.execute( + "INSERT INTO servers (hostname, ip_address, state) VALUES (%s, %s, %s) RETURNING id;", + (hostname, ip_address, state) + ) + server_id = cur.fetchone()["id"] + conn.commit() + return {"id": server_id}, 201 + +class Server(Resource): + def get(self, id): + with get_db_connection() as conn: + with conn.cursor() as cur: + cur.execute("SELECT * FROM servers WHERE id = %s;", (id,)) + server = cur.fetchone() + if not server: + return {"error": "Server not found"}, 404 + return jsonify(server) + + def put(self, id): + + data = request.get_json() + hostname = data.get("hostname") + ip_address = data.get("ip_address") + state = data.get("state") + + with get_db_connection() as conn: + with conn.cursor() as cur: + cur.execute( + "UPDATE servers SET hostname = %s, ip_address = %s, state = %s WHERE id = %s;", + (hostname, ip_address, state, id) + ) + if cur.rowcount == 0: + return {"error": "Server not found"}, 404 + conn.commit() + return {"message": "Server updated"} + + def delete(self, id): + with get_db_connection() as conn: + with conn.cursor() as cur: + cur.execute("DELETE FROM servers WHERE id = %s;", (id,)) + if cur.rowcount == 0: + return {"error": "Server not found"}, 404 + conn.commit() + return {"message": "Server deleted"} + +api.add_resource(ServerList, '/servers') +api.add_resource(Server, '/servers/') + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/flask_api/requirements.txt b/flask_api/requirements.txt new file mode 100644 index 0000000..34d7244 --- /dev/null +++ b/flask_api/requirements.txt @@ -0,0 +1,4 @@ + +flask +flask-restful +psycopg2-binary \ No newline at end of file diff --git a/init_db.sql b/init_db.sql new file mode 100644 index 0000000..e69de29 From bf8d060e88c180d46f460fbb97686e2a249de49d Mon Sep 17 00:00:00 2001 From: Anthony Lopilato Date: Tue, 9 Dec 2025 13:43:38 -0500 Subject: [PATCH 2/3] Initialize database table. --- docker-compose.yml | 1 - flask_api/app.py | 6 ++++-- init_db.sql | 7 +++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e225531..786798d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,6 @@ services: volumes: - ./init_db.sql:/docker-entrypoint-initdb.d/init_db.sql - flask_api: build: context: ./flask_api diff --git a/flask_api/app.py b/flask_api/app.py index 6d7a77f..4ac5b34 100644 --- a/flask_api/app.py +++ b/flask_api/app.py @@ -3,8 +3,6 @@ import psycopg2 from psycopg2.extras import RealDictCursor -app = Flask(__name__) -api = Api(app) # Database connection def get_db_connection(): @@ -15,6 +13,10 @@ def get_db_connection(): password="your_password", cursor_factory=RealDictCursor ) + +app = Flask(__name__) +api = Api(app) + class ServerList(Resource): def get(self): diff --git a/init_db.sql b/init_db.sql index e69de29..8f875b4 100644 --- a/init_db.sql +++ b/init_db.sql @@ -0,0 +1,7 @@ + +CREATE TABLE IF NOT EXISTS servers ( + id SERIAL PRIMARY KEY, + hostname VARCHAR(255) NOT NULL, + ip_address VARCHAR(45) NOT NULL, + state VARCHAR(10) CHECK (state IN ('active', 'offline', 'retired')) NOT NULL +); \ No newline at end of file From 607680c326fe4b9d9bed21438439a9ca6a6da4e3 Mon Sep 17 00:00:00 2001 From: Anthony Lopilato Date: Tue, 9 Dec 2025 23:53:53 -0500 Subject: [PATCH 3/3] Add tests, add stored procedures, add makefile, add CLI, update API, add API and CLI docs. --- .gitignore | 3 +- API.md | 189 ++++++++ CLI.md | 121 +++++ Instructions.md | 25 -- Makefile | 11 + README.md | 3 +- assets/image-1.png | Bin 0 -> 191620 bytes assets/image-2.png | Bin 0 -> 90207 bytes assets/image.png | Bin 0 -> 157296 bytes dev.txt | 5 - flask_api/Dockerfile | 1 - flask_api/app.py | 207 +++++++-- flask_api/cli.py | 212 +++++++++ flask_api/requirements.txt | 5 +- flask_api/tests/__init__.py | 2 + flask_api/tests/conftest.py | 15 + flask_api/tests/test_api_logic.py | 409 +++++++++++++++++ flask_api/tests/test_cli.py | 635 ++++++++++++++++++++++++++ flask_api/tests/test_integration.py | 660 ++++++++++++++++++++++++++++ flask_api/tests/test_validation.py | 183 ++++++++ init_db.sql | 83 +++- requirements.txt | 6 + scripts/cli-test.sh | 52 +++ scripts/integration-test.sh | 54 +++ scripts/unit-test.sh | 15 + 25 files changed, 2811 insertions(+), 85 deletions(-) create mode 100644 API.md create mode 100644 CLI.md delete mode 100644 Instructions.md create mode 100644 Makefile create mode 100644 assets/image-1.png create mode 100644 assets/image-2.png create mode 100644 assets/image.png delete mode 100644 dev.txt create mode 100755 flask_api/cli.py create mode 100644 flask_api/tests/__init__.py create mode 100644 flask_api/tests/conftest.py create mode 100644 flask_api/tests/test_api_logic.py create mode 100644 flask_api/tests/test_cli.py create mode 100644 flask_api/tests/test_integration.py create mode 100644 flask_api/tests/test_validation.py create mode 100644 requirements.txt create mode 100755 scripts/cli-test.sh create mode 100755 scripts/integration-test.sh create mode 100755 scripts/unit-test.sh diff --git a/.gitignore b/.gitignore index 600d2d3..9f94e5d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.vscode \ No newline at end of file +.vscode +__pycache__ diff --git a/API.md b/API.md new file mode 100644 index 0000000..3d685f2 --- /dev/null +++ b/API.md @@ -0,0 +1,189 @@ +# Server Inventory Management API + +A Flask-based REST API for managing server inventory with PostgreSQL backend. + +## Quick Start + +### Prerequisites +- Docker and Docker Compose +- Python 3.9+ (for CLI and tests) + +### Start the Service + +```bash +docker compose up --build -d +``` + +The API will be available at `http://localhost:5001` + +The database is automatically initialized with the schema from `init_db.sql`. + +### Stop the Service + +```bash +docker compose down +``` + +## Running Tests + +### All Tests +```bash +make test # From the root directory +``` + +### Unit Tests +```bash +make unit-test # From the root directory +``` + +![alt text](assets/image.png) + +### Integration Tests +```bash +make integration-test # From the root directory +``` + +![alt text](assets/image-1.png) + +### CLI Tests +```bash +make cli-test # From the root directory +``` + +![alt text](assets/image-2.png) + +## API Endpoints + +Base URL: `http://localhost:5001` + +### List Servers +```bash +GET /servers + +# Example +curl http://localhost:5001/servers + +# Response +[ + { + "id": 1, + "hostname": "web-server-01", + "ip_address": "192.168.1.10", + "server_state": "active" + }, + { + "id": 2, + "hostname": "web-server-02", + "ip_address": "192.168.1.10", + "server_state": "active" + } +] +``` + +### Get Server +```bash +GET /servers/{id} + +# Example +curl http://localhost:5001/servers/1 + +# Response +{ + "id": 1, + "hostname": "web-server-01", + "ip_address": "192.168.1.10", + "server_state": "active" +} +``` + +### Create Server +```bash +POST /servers +Content-Type: application/json + +# Example +curl -X POST http://localhost:5001/servers \ + -H "Content-Type: application/json" \ + -d '{ + "hostname": "web-server-01", + "ip_address": "192.168.1.10", + "server_state": "active" + }' + +# Response (201 Created) +{ + "server_id": 1 +} +``` + +**Validation:** +- `hostname`: Required, must be unique +- `ip_address`: Required, valid IPv4 format +- `server_state`: Required, one of: `active`, `offline`, `retired` + +### Update Server +```bash +PUT /servers/{id} +Content-Type: application/json + +# Example +curl -X PUT http://localhost:5001/servers/1 \ + -H "Content-Type: application/json" \ + -d '{ + "hostname": "updated-hostname", + "ip_address": "10.0.0.1", + "server_state": "offline" + }' + +# Response (200 OK) +{ + "id": 1, + "hostname": "updated-hostname", + "ip_address": "10.0.0.1", + "server_state": "offline" +} +``` + +**Note:** At least one field must be provided. Omitted fields remain unchanged. The updated hostname must also still be unique. + +### Delete Server +```bash +DELETE /servers/{id} + +# Example +curl -X DELETE http://localhost:5001/servers/1 + +# Response (200 OK) +{ + "message": "Server deleted" +} +``` + +## Error Responses + +- `400 Bad Request`: Validation error or invalid input +- `404 Not Found`: Server ID not found +- `500 Internal Server Error`: Server error + +## Development + +### Install Dependencies +```bash +pip install -r requirements.txt +``` + +### Database Schema +The database schema is defined in `init_db.sql` and is automatically applied when the PostgreSQL container starts. + +### Project Structure +``` +. +├── flask_api/ +│ ├── app.py # Flask API application +│ ├── cli.py # CLI tool +| |__ Dockerfile # Docker image file. +│ ├── requirements.txt # Python dependencies +│ └── tests/ # Test suite +├── init_db.sql # Database schema +├── docker-compose.yml # Docker Compose configuration +└── scripts/ # Test scripts diff --git a/CLI.md b/CLI.md new file mode 100644 index 0000000..f1f395c --- /dev/null +++ b/CLI.md @@ -0,0 +1,121 @@ +# Server Inventory Management CLI + +A command-line interface for managing servers in the inventory system via the REST API. + +## Prerequisites + +- The Flask API and Postgres database must be running (see API.md for setup instructions) +- Docker and Docker Compose +- Python 3.9+ (for CLI and tests) + +## Use the CLI + +The CLI connects to the REST API to perform all operations. + +### Basic Usage + +- Launch the API and database +` docker compose up --build -d ` + +- Create a virtual environment and install dependencies + +```bash +python3 -m venv challenge-env +source challenge-env/bin/activate +pip install -r requirements.txt +``` + + +```bash +python flask_api/cli.py list +python flask_api/cli.py get +python flask_api/cli.py create --hostname --ip-address --state +python flask_api/cli.py update [options] +python flask_api/cli.py delete +``` + +### Commands + +#### List Servers +List all servers in the inventory. + +```bash +python flask_api/cli.py list +``` + +#### Get Server +Get details of a specific server by ID. + +```bash +python flask_api/cli.py get 1 +``` + +#### Create Server +Create a new server in the inventory. + +```bash +python flask_api/cli.py create --hostname "web-server-01" --ip-address "192.168.1.10" --state active +``` + +Valid states: `active`, `offline`, `retired` + +#### Update Server +Update an existing server. You can update one or more fields. + +```bash +# Update hostname only +python flask_api/cli.py update 1 --hostname "new-hostname" + +# Update multiple fields +python flask_api/cli.py update 1 --hostname "new-hostname" --ip-address "10.0.0.1" --state offline +``` + +#### Delete Server +Delete a server from the inventory (requires confirmation). + +```bash +python flask_api/cli.py delete 1 +``` + +### Options + +#### Global Options + +- `--api-url `: Specify API base URL (default: http://localhost:5001) + +### Examples + +```bash +# List all servers +python flask_api/cli.py list + +# Create a server +python flask_api/cli.py create --hostname "db-server-01" --ip-address "10.0.0.5" --state active + +# Update server state only +python flask_api/cli.py update 2 --state offline + +# Get server details +python flask_api/cli.py get 1 + +# Delete a server (will prompt for confirmation) +python flask_api/cli.py delete 3 + +# Use custom API URL +python flask_api/cli.py --api-url http://api.example.com:8080 list +``` + +### Error Handling + +The CLI provides clear error messages for: +- Invalid IP address formats +- Invalid server states +- Missing required fields +- Server not found (404) +- Duplicate hostnames +- API connection errors + +### Exit Codes + +- `0`: Success +- `1`: Error (validation error, not found, connection error, etc.) diff --git a/Instructions.md b/Instructions.md deleted file mode 100644 index edc7072..0000000 --- a/Instructions.md +++ /dev/null @@ -1,25 +0,0 @@ -## To start the service: -1. Run `docker compose up` from the root directory - - - -## To test the service: -1. Create the database `servers` table with `docker exec -it psql -U your_username -d your_database` -2. Run the init_db.sql script againt this table to create the servers table. -3. Run POST requests against the API like this: - - List Servers : `curl http://127.0.0.1:5001/servers` - resp: [{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"}] - - Create Server: ``` - curl -X POST http://localhost:5001/servers \ - -H "Content-Type: application/json" \ - -d '{"hostname": "blahblah", "ip_address":"10.0.0.0", "state":"active"}' - {"id": 1}``` - - - Get Server: ``` - curl http://127.0.0.1:5001/servers/1 -{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"} ``` - - - Update Server: - curl -X PUT http://127.0.0.1:5001/servers/1 -H "Content-Type: application/json" -d{"hostname":"blahblah","id":1,"ip_address":"10.0.0.0","state":"active"}' - - diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7b3f1a3 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +unit-test: + ./scripts/unit-test.sh + +integration-test: + ./scripts/integration-test.sh + +cli-test: + ./scripts/cli-test.sh + +test: unit-test integration-test cli-test + diff --git a/README.md b/README.md index 3145d38..673364a 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,5 @@ Requirements: Validate that: - hostname is unique - IP address looks like an IP - -State is one of: active, offline, retired +- State is one of: active, offline, retired diff --git a/assets/image-1.png b/assets/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffc0cde0a71441117d90bedeb11e03fb0924539 GIT binary patch literal 191620 zcmagFbx_+~_wJ3B;8xsAf#MV^9^BpCr8pF~;KiX7cX!udh2jN@YjJmX3!LeC{ zgC=AxCZ;SSCPu0J#nIB*&H@HTIwDC6Nn33QKU?qnH{s8)2!$c52=TUb+IeOV;=UM zea(Vg)61V%qo_A=Ipc^h5np+-QpQJv?_pp(xwPK1zyy5Q87;;SFC^5=rTGdg+MyiD zvD2a(Ilbc<_nTHI8PS;pMwWpzmIoJRR`J&~YHOOZSQCY*6qOPsf^ZB*os!|IIeDKo zmYx_1cAu)BOMU)Z%3lOKUy5II4(``zShd)5p;tLzIic3rub^zIa}ctprX!G zxi2`WD3Ey_-)2z?HRj<+rJz)}I}y2&7$hHm7?BzaDLXruqXbKdG{#a4=bb^7_gG$_T5c98d|)Q(+z@WBo(O-h z6NhEEC5(NK`%dT=1^FK9(N3`FFMl%29W9@4R7cE-F~4AyD97MUC<#{O%nL$#S8=+{ zegR%KvfvpB1~O198eiA0#Ew0_BBwbaQWITDYmwBye}e-bPSr=5k6s=3v~K9h)A87S z7{cKcm*?dRrW2rY#U{t8#%@Cf(;`Rq10{%H+wwr)-Vq!Ccj3Sx>D4X3Q}o$9_Uhmx zc%Nm&N0ZIYi3UbtmdqnwnX|7#T9iN zmmkksIn5Kj1O8flo{J@TC-sJ7d(Bu#v z%)y<+%cD0g^^*f7-^p6*gFno=pRbeC`MC$nH4lu>%Em45I;+9*r&1U@%pQg_&88@C zm>es@eX?>ezXB#9EQc}r-WI}g0KqwYAmv-}K+kV*v_1O`>wE;kWyZ9rNU|cl+HW+2 zWoxnRVEKPK)M9c5Qm?<~foBO)bV6SatSCY1fPt)&-A7Xbkn`SgierA1WWwU_LpGrl zlBUFo?R!TrP5eCqfQ`(Kn--Ty&G=2$oI^G0SOSBJF8)fI;0vl(!1cSDc%=_t%X4*0 zsca%*C5b-ZqKj=!B7dgkLu3|}o1od(ZG5v5%AHR)8MV*VNa7cWVGN@-;L3*ko7~Kp zi3vrnpPlU^Hwj}eLoIP7xozP11Ik>?jR}SGJH_6E7D4@PDo?nv{*v{Ei+)dJs?;TaΜ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

T}PHk225F?lMR}r+O3qh|?#A1S%E7?@$ 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 AdjJ3c literal 0 HcmV?d00001 diff --git a/assets/image-2.png b/assets/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..98a4bf3f70379eb22f3ffb35581125479d4a9519 GIT binary patch literal 90207 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

Q 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�D)}e$#%ZYTAX{Ny%v)FI6@~jE6D?3 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 SmM0?|@FOFsAWI<>Hk_CM literal 0 HcmV?d00001 diff --git a/assets/image.png b/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..23a8fc0a8b7c634a9f6af1101b2f575f2ed74248 GIT binary patch literal 157296 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%0Ao|%X3VbG|^&kiDUSBxRz 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') diff --git a/flask_api/cli.py b/flask_api/cli.py new file mode 100755 index 0000000..8bb5549 --- /dev/null +++ b/flask_api/cli.py @@ -0,0 +1,212 @@ +#!/usr/bin/env python3 +""" +Command Line Interface for Server Inventory Management. + +This CLI provides commands to manage servers in the inventory via the REST API. +""" + +import click +import sys +import requests +from typing import Dict, Any + +# Import validation functions from app +from app import ( + validate_server_state, + validate_ip_address +) + + +# Configuration +API_BASE_URL = "http://localhost:5001" + + +def format_server(server: Dict[str, Any]) -> str: + """Format server data for display.""" + return f"ID: {server['id']}\n" \ + f"Hostname: {server['hostname']}\n" \ + f"IP Address: {server['ip_address']}\n" \ + f"State: {server['server_state']}" + + +@click.group() +@click.option('--api-url', default=API_BASE_URL, help='API base URL (default: http://localhost:5001)') +@click.pass_context +def cli(ctx, api_url): + """Server Inventory Management CLI.""" + ctx.ensure_object(dict) + ctx.obj['api_url'] = api_url + + +@cli.command() +@click.pass_context +def list(ctx): + """List all servers.""" + try: + response = requests.get(f"{ctx.obj['api_url']}/servers") + response.raise_for_status() + servers = response.json() + + if not servers: + click.echo("No servers found.") + return + + click.echo(f"\nFound {len(servers)} server(s):\n") + for server in servers: + click.echo(format_server(server)) + click.echo("-" * 40) + except requests.exceptions.RequestException as e: + click.echo(f"Error connecting to API: {e}", err=True) + sys.exit(1) + + +@cli.command() +@click.argument('server_id', type=int) +@click.pass_context +def get(ctx, server_id): + """Get a server by ID.""" + try: + response = requests.get(f"{ctx.obj['api_url']}/servers/{server_id}") + + if response.status_code == 404: + click.echo(f"Server with ID {server_id} not found.", err=True) + sys.exit(1) + + response.raise_for_status() + server = response.json() + click.echo("\n" + format_server(server)) + except requests.exceptions.RequestException as e: + click.echo(f"Error connecting to API: {e}", err=True) + sys.exit(1) + + +@cli.command() +@click.option('--hostname', required=True, help='Server hostname') +@click.option('--ip-address', required=True, help='Server IP address') +@click.option('--state', 'server_state', required=True, + type=click.Choice(['active', 'offline', 'retired'], case_sensitive=False), + help='Server state (active, offline, retired)') +@click.pass_context +def create(ctx, hostname, ip_address, server_state): + """Create a new server.""" + # Normalize state to lowercase + server_state = server_state.lower() + + # Validate inputs + if not validate_ip_address(ip_address): + click.echo("Error: Invalid IP address format.", err=True) + sys.exit(1) + + if not validate_server_state(server_state): + click.echo("Error: Invalid server state. Must be one of: active, offline, retired.", err=True) + sys.exit(1) + + try: + response = requests.post( + f"{ctx.obj['api_url']}/servers", + json={ + "hostname": hostname, + "ip_address": ip_address, + "server_state": server_state + }, + headers={"Content-Type": "application/json"} + ) + + if response.status_code == 400: + error_data = response.json() + click.echo(f"Error: {error_data.get('error', 'Bad request')}", err=True) + sys.exit(1) + + response.raise_for_status() + result = response.json() + click.echo(f"Server created successfully with ID: {result['server_id']}") + except requests.exceptions.RequestException as e: + click.echo(f"Error connecting to API: {e}", err=True) + sys.exit(1) + + +@cli.command() +@click.argument('server_id', type=int) +@click.option('--hostname', help='Update hostname') +@click.option('--ip-address', help='Update IP address') +@click.option('--state', 'server_state', + type=click.Choice(['active', 'offline', 'retired'], case_sensitive=False), + help='Update server state (active, offline, retired)') +@click.pass_context +def update(ctx, server_id, hostname, ip_address, server_state): + """Update a server by ID.""" + # Check that at least one field is provided + if not any([hostname, ip_address, server_state]): + click.echo("Error: At least one field (--hostname, --ip-address, or --state) must be provided.", err=True) + sys.exit(1) + + # Normalize state to lowercase if provided + if server_state: + server_state = server_state.lower() + + # Validate inputs if provided + if ip_address and not validate_ip_address(ip_address): + click.echo("Error: Invalid IP address format.", err=True) + sys.exit(1) + + if server_state and not validate_server_state(server_state): + click.echo("Error: Invalid server state. Must be one of: active, offline, retired.", err=True) + sys.exit(1) + + # Build update payload with only provided fields + payload = {} + if hostname: + payload['hostname'] = hostname + if ip_address: + payload['ip_address'] = ip_address + if server_state: + payload['server_state'] = server_state + + try: + response = requests.put( + f"{ctx.obj['api_url']}/servers/{server_id}", + json=payload, + headers={"Content-Type": "application/json"} + ) + + if response.status_code == 404: + click.echo(f"Error: Server with ID {server_id} not found.", err=True) + sys.exit(1) + + if response.status_code == 400: + error_data = response.json() + click.echo(f"Error: {error_data.get('error', 'Bad request')}", err=True) + sys.exit(1) + + response.raise_for_status() + result = response.json() + click.echo("Server updated successfully:") + click.echo(format_server(result)) + except requests.exceptions.RequestException as e: + click.echo(f"Error connecting to API: {e}", err=True) + sys.exit(1) + + +@cli.command() +@click.argument('server_id', type=int) +@click.confirmation_option(prompt='Are you sure you want to delete this server?') +@click.pass_context +def delete(ctx, server_id): + """Delete a server by ID.""" + try: + response = requests.delete(f"{ctx.obj['api_url']}/servers/{server_id}") + + if response.status_code == 404: + click.echo(f"Error: Server with ID {server_id} not found.", err=True) + sys.exit(1) + + response.raise_for_status() + result = response.json() + click.echo(result.get('message', 'Server deleted successfully.')) + except requests.exceptions.RequestException as e: + click.echo(f"Error connecting to API: {e}", err=True) + sys.exit(1) + + +if __name__ == '__main__': + cli() diff --git a/flask_api/requirements.txt b/flask_api/requirements.txt index 34d7244..c8c9486 100644 --- a/flask_api/requirements.txt +++ b/flask_api/requirements.txt @@ -1,4 +1,5 @@ - flask flask-restful -psycopg2-binary \ No newline at end of file +psycopg2-binary +requests +click \ No newline at end of file diff --git a/flask_api/tests/__init__.py b/flask_api/tests/__init__.py new file mode 100644 index 0000000..e7991ee --- /dev/null +++ b/flask_api/tests/__init__.py @@ -0,0 +1,2 @@ +# Tests package + diff --git a/flask_api/tests/conftest.py b/flask_api/tests/conftest.py new file mode 100644 index 0000000..ffabbf6 --- /dev/null +++ b/flask_api/tests/conftest.py @@ -0,0 +1,15 @@ +""" +Pytest configuration file for tests. +This ensures that the flask_api directory is in the Python path +so that imports from app.py work correctly. +""" +import sys +from pathlib import Path + +# Add the parent directory (flask_api) to the Python path +# This allows imports like "from app import ..." to work +tests_dir = Path(__file__).parent +flask_api_dir = tests_dir.parent +if str(flask_api_dir) not in sys.path: + sys.path.insert(0, str(flask_api_dir)) + diff --git a/flask_api/tests/test_api_logic.py b/flask_api/tests/test_api_logic.py new file mode 100644 index 0000000..1a270af --- /dev/null +++ b/flask_api/tests/test_api_logic.py @@ -0,0 +1,409 @@ +import pytest +from unittest.mock import Mock, patch, MagicMock +import psycopg2 +from flask import Flask +from app import ServerList, Server + + +class TestCreateServerLogic: + """Unit tests for server creation logic.""" + + @patch('app.get_db_connection') + def test_create_server_returns_id(self, mock_db): + """Test that create server returns a server ID.""" + # Setup Flask app context + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + # First call returns the server ID, second call returns None (for the SELECT query) + mock_cursor.fetchone.side_effect = [{"id": 1}, {"id": 1}] + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "ip_address": "192.168.1.1", "server_state": "active"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 201 + assert response["server_id"] == 1 + mock_conn.commit.assert_called() + + @patch('app.get_db_connection') + def test_create_server_duplicate_hostname_error(self, mock_db): + """Test that duplicate hostname returns 400 error.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.execute.side_effect = psycopg2.IntegrityError("duplicate key value violates unique constraint") + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers', method='POST', + json={"hostname": "existing-server", "ip_address": "192.168.1.1", "server_state": "active"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "already exists" in response["error"] + + @patch('app.get_db_connection') + def test_create_server_commits_transaction(self, mock_db): + """Test that create server commits the transaction.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.side_effect = [{"id": 1}, {"id": 1}] + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "ip_address": "192.168.1.1", "server_state": "active"}): + server_list = ServerList() + server_list.post() + mock_conn.commit.assert_called_once() + + @patch('app.get_db_connection') + def test_create_server_missing_fields(self, mock_db): + """Test that missing required fields return 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', json={"hostname": "test"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "required" in response["error"] + + @patch('app.get_db_connection') + def test_create_server_invalid_state(self, mock_db): + """Test that invalid server_state returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test", "ip_address": "192.168.1.1", "server_state": "invalid"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "server_state must be one of" in response["error"] + + +class TestGetServerLogic: + """Unit tests for server retrieval logic.""" + + @patch('app.get_db_connection') + def test_get_server_returns_data(self, mock_db): + """Test that get server returns correct data.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "test-server", "ip_address": "192.168.1.100", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1'): + server = Server() + response = server.get(1) + + # jsonify returns a Response object, so we need to get_json() + if hasattr(response, 'get_json'): + data = response.get_json() + else: + # If it's a tuple (error case), handle differently + data = response[0] if isinstance(response, tuple) else response + + assert data["id"] == 1 + assert data["hostname"] == "test-server" + assert data["ip_address"] == "192.168.1.100" + assert data["server_state"] == "active" + + @patch('app.get_db_connection') + def test_get_server_not_found(self, mock_db): + """Test that get server returns 404 when not found.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = None + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/999'): + server = Server() + response, status_code = server.get(999) + + assert status_code == 404 + assert "not found" in response["error"] + + +class TestListServersLogic: + """Unit tests for server listing logic.""" + + @patch('app.get_db_connection') + def test_list_servers_returns_all(self, mock_db): + """Test that list servers returns all records.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchall.return_value = [ + {"id": 1, "hostname": "server-01", "ip_address": "192.168.1.1", "server_state": "active"}, + {"id": 2, "hostname": "server-02", "ip_address": "192.168.1.2", "server_state": "offline"}, + ] + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers'): + server_list = ServerList() + response = server_list.get() + + # jsonify returns a Response object, extract JSON data + if hasattr(response, 'get_json'): + data = response.get_json() + else: + # If it's a tuple (error case), handle differently + data = response[0] if isinstance(response, tuple) else response + + assert len(data) == 2 + assert data[0]["hostname"] == "server-01" + assert data[1]["hostname"] == "server-02" + + @patch('app.get_db_connection') + def test_list_servers_empty(self, mock_db): + """Test that list servers handles empty database.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchall.return_value = [] + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers'): + server_list = ServerList() + response = server_list.get() + + # jsonify returns a Response object, extract JSON data + if hasattr(response, 'get_json'): + data = response.get_json() + else: + data = response[0] if isinstance(response, tuple) else response + + assert len(data) == 0 + + +class TestUpdateServerLogic: + """Unit tests for server update logic.""" + + @patch('app.get_db_connection') + def test_update_server_single_field(self, mock_db): + """Test updating a single field.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "old-name", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1', method='PUT', + json={"hostname": "new-name"}): + server = Server() + response, status_code = server.put(1) + + assert status_code == 200 + assert response["hostname"] == "new-name" + mock_conn.commit.assert_called_once() + + @patch('app.get_db_connection') + def test_update_server_multiple_fields(self, mock_db): + """Test updating multiple fields.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "old-name", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1', method='PUT', + json={"hostname": "new-name", "ip_address": "10.0.0.1", "server_state": "offline"}): + server = Server() + response, status_code = server.put(1) + + assert status_code == 200 + assert response["hostname"] == "new-name" + assert response["ip_address"] == "10.0.0.1" + assert response["server_state"] == "offline" + + @patch('app.get_db_connection') + def test_update_server_not_found(self, mock_db): + """Test updating non-existent server returns 404.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = None + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/999', method='PUT', + json={"hostname": "new-name"}): + server = Server() + response, status_code = server.put(999) + + assert status_code == 404 + assert "not found" in response["error"] + + @patch('app.get_db_connection') + def test_update_server_invalid_input(self, mock_db): + """Test that invalid input returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers/1', method='PUT', + json={"server_state": "invalid"}): + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "test", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + server = Server() + response, status_code = server.put(1) + + assert status_code == 400 + assert "server_state must be one of" in response["error"] + + +class TestDeleteServerLogic: + """Unit tests for server deletion logic.""" + + @patch('app.get_db_connection') + def test_delete_server_success(self, mock_db): + """Test successful server deletion.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "test-server", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1', method='DELETE'): + server = Server() + response, status_code = server.delete(1) + + assert status_code == 200 + assert "deleted" in response["message"] + mock_conn.commit.assert_called_once() + + @patch('app.get_db_connection') + def test_delete_server_not_found(self, mock_db): + """Test deleting non-existent server returns 404.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = None + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/999', method='DELETE'): + server = Server() + response, status_code = server.delete(999) + + assert status_code == 404 + assert "not found" in response["error"] + + +class TestDatabaseConnectionHandling: + """Unit tests for database connection handling.""" + + @patch('app.get_db_connection') + def test_connection_closes_on_error(self, mock_db): + """Test that connection closes properly on error.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.execute.side_effect = Exception("Database error") + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers'): + server_list = ServerList() + response, status_code = server_list.get() + + # Should return 500 error + assert status_code == 500 + # Connection context manager should handle cleanup + assert mock_conn.__exit__.called + + @patch('app.get_db_connection') + def test_transaction_handles_integrity_error(self, mock_db): + """Test that integrity errors are handled properly.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.execute.side_effect = psycopg2.IntegrityError("constraint violation") + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test", "ip_address": "192.168.1.1", "server_state": "active"}): + server_list = ServerList() + response, status_code = server_list.post() + + # Should return 400 for integrity error + assert status_code == 400 \ No newline at end of file diff --git a/flask_api/tests/test_cli.py b/flask_api/tests/test_cli.py new file mode 100644 index 0000000..a23d82c --- /dev/null +++ b/flask_api/tests/test_cli.py @@ -0,0 +1,635 @@ +""" +Integration tests for the Server Inventory Management CLI. + +These tests require the service to be running via docker-compose. +Run with: pytest flask_api/tests/test_cli.py -v + +Make sure docker-compose is running: + docker compose up -d +""" + +import pytest +import subprocess +import json +import time +import sys +from pathlib import Path + + +# CLI Configuration +CLI_SCRIPT = Path(__file__).parent.parent / "cli.py" +API_BASE_URL = "http://localhost:5001" +MAX_RETRIES = 30 +RETRY_DELAY = 1 + + +def run_cli_command(args, input_text=None, timeout=10): + """Run a CLI command and return the result.""" + cmd = [sys.executable, str(CLI_SCRIPT)] + args + try: + result = subprocess.run( + cmd, + input=input_text, + capture_output=True, + text=True, + timeout=timeout + ) + return { + "returncode": result.returncode, + "stdout": result.stdout, + "stderr": result.stderr, + "output": result.stdout + result.stderr + } + except subprocess.TimeoutExpired: + return { + "returncode": -1, + "stdout": "", + "stderr": "Command timed out", + "output": "Command timed out" + } + + +def wait_for_api(max_retries=MAX_RETRIES, delay=RETRY_DELAY): + """Wait for the API to be available.""" + import requests + for _ in range(max_retries): + try: + response = requests.get(f"{API_BASE_URL}/servers", timeout=2) + if response.status_code in [200, 404]: + return True + except Exception: + pass + time.sleep(delay) + return False + + +@pytest.fixture(scope="module", autouse=True) +def ensure_api_available(): + """Ensure API is available before running tests.""" + if not wait_for_api(): + pytest.skip("API is not available. Make sure docker-compose is running.") + + +@pytest.fixture(scope="function") +def cleanup_servers(): + """Cleanup fixture that removes all servers created during tests.""" + created_server_ids = [] + + yield created_server_ids + + # Cleanup: Delete all created servers via CLI + for server_id in created_server_ids: + try: + run_cli_command(["delete", str(server_id)], input_text="y\n", timeout=5) + except Exception: + pass # Ignore cleanup errors + + +def extract_server_id(output): + """Extract server ID from CLI output.""" + import re + match = re.search(r'ID:\s*(\d+)', output) + if match: + return int(match.group(1)) + # Try to find "with ID: X" pattern + match = re.search(r'with ID:\s*(\d+)', output) + if match: + return int(match.group(1)) + return None + + +class TestCLIList: + """Tests for CLI list command.""" + + def test_list_empty(self): + """Test listing servers when empty.""" + result = run_cli_command(["list"]) + assert result["returncode"] == 0 + assert "No servers found" in result["output"] or "Found 0 server" in result["output"] + + def test_list_with_servers(self, cleanup_servers): + """Test listing servers with data.""" + # Create servers via CLI + hostname1 = f"cli-list-test-1-{int(time.time())}" + hostname2 = f"cli-list-test-2-{int(time.time())}" + + result1 = run_cli_command([ + "create", + "--hostname", hostname1, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert result1["returncode"] == 0 + server_id1 = extract_server_id(result1["output"]) + if server_id1: + cleanup_servers.append(server_id1) + + result2 = run_cli_command([ + "create", + "--hostname", hostname2, + "--ip-address", "192.168.1.2", + "--state", "offline" + ]) + assert result2["returncode"] == 0 + server_id2 = extract_server_id(result2["output"]) + if server_id2: + cleanup_servers.append(server_id2) + + # List servers + result = run_cli_command(["list"]) + assert result["returncode"] == 0 + assert hostname1 in result["output"] + assert hostname2 in result["output"] + assert "192.168.1.1" in result["output"] + assert "192.168.1.2" in result["output"] + + +class TestCLICreate: + """Tests for CLI create command.""" + + def test_create_server_success(self, cleanup_servers): + """Test creating a server successfully.""" + hostname = f"cli-create-test-{int(time.time())}" + result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.100", + "--state", "active" + ]) + + assert result["returncode"] == 0 + assert "created successfully" in result["output"].lower() + assert "ID:" in result["output"] or "with ID:" in result["output"] + + server_id = extract_server_id(result["output"]) + if server_id: + cleanup_servers.append(server_id) + + def test_create_server_all_states(self, cleanup_servers): + """Test creating servers with all valid states.""" + valid_states = ["active", "offline", "retired"] + + for state in valid_states: + hostname = f"cli-state-{state}-{int(time.time())}" + result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "10.0.0.1", + "--state", state + ]) + + assert result["returncode"] == 0, f"Failed to create server with state {state}" + assert "created successfully" in result["output"].lower() + + server_id = extract_server_id(result["output"]) + if server_id: + cleanup_servers.append(server_id) + + def test_create_server_missing_hostname(self): + """Test creating server without hostname.""" + result = run_cli_command([ + "create", + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + + assert result["returncode"] != 0 + assert "hostname" in result["output"].lower() or "required" in result["output"].lower() + + def test_create_server_missing_ip(self): + """Test creating server without IP address.""" + result = run_cli_command([ + "create", + "--hostname", "test-server", + "--state", "active" + ]) + + assert result["returncode"] != 0 + assert "ip" in result["output"].lower() or "required" in result["output"].lower() + + def test_create_server_missing_state(self): + """Test creating server without state.""" + result = run_cli_command([ + "create", + "--hostname", "test-server", + "--ip-address", "192.168.1.1" + ]) + + assert result["returncode"] != 0 + assert "state" in result["output"].lower() or "required" in result["output"].lower() + + def test_create_server_invalid_ip(self): + """Test creating server with invalid IP.""" + result = run_cli_command([ + "create", + "--hostname", "test-server", + "--ip-address", "not.an.ip", + "--state", "active" + ]) + + assert result["returncode"] != 0 + assert "invalid" in result["output"].lower() or "ip" in result["output"].lower() + + def test_create_server_invalid_state(self): + """Test creating server with invalid state.""" + result = run_cli_command([ + "create", + "--hostname", "test-server", + "--ip-address", "192.168.1.1", + "--state", "invalid_state" + ]) + + # Click should prevent invalid choice before it reaches the API + assert result["returncode"] != 0 + + def test_create_server_duplicate_hostname(self, cleanup_servers): + """Test creating server with duplicate hostname.""" + hostname = f"cli-duplicate-{int(time.time())}" + + # Create first server + result1 = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert result1["returncode"] == 0 + server_id = extract_server_id(result1["output"]) + if server_id: + cleanup_servers.append(server_id) + + # Try to create duplicate + result2 = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.2", + "--state", "active" + ]) + + assert result2["returncode"] != 0 + assert "already exists" in result2["output"].lower() or "error" in result2["output"].lower() + + +class TestCLIGet: + """Tests for CLI get command.""" + + def test_get_server_success(self, cleanup_servers): + """Test getting a server by ID.""" + # Create a server first + hostname = f"cli-get-test-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.50", + "--state", "offline" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID from create output") + + cleanup_servers.append(server_id) + + # Get the server + result = run_cli_command(["get", str(server_id)]) + assert result["returncode"] == 0 + assert hostname in result["output"] + assert "192.168.1.50" in result["output"] + assert "offline" in result["output"] + assert f"ID: {server_id}" in result["output"] + + def test_get_server_not_found(self): + """Test getting a non-existent server.""" + result = run_cli_command(["get", "999999"]) + assert result["returncode"] != 0 + assert "not found" in result["output"].lower() + + def test_get_server_invalid_id(self): + """Test getting server with invalid ID format.""" + result = run_cli_command(["get", "invalid"]) + assert result["returncode"] != 0 + + +class TestCLIUpdate: + """Tests for CLI update command.""" + + def test_update_server_hostname(self, cleanup_servers): + """Test updating server hostname.""" + # Create a server + hostname = f"cli-update-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Update hostname + new_hostname = "updated-hostname" + result = run_cli_command([ + "update", str(server_id), + "--hostname", new_hostname + ]) + + assert result["returncode"] == 0 + assert "updated successfully" in result["output"].lower() + assert new_hostname in result["output"] + + def test_update_server_ip(self, cleanup_servers): + """Test updating server IP address.""" + # Create a server + hostname = f"cli-update-ip-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Update IP + result = run_cli_command([ + "update", str(server_id), + "--ip-address", "10.0.0.1" + ]) + + assert result["returncode"] == 0 + assert "10.0.0.1" in result["output"] + + def test_update_server_state(self, cleanup_servers): + """Test updating server state.""" + # Create a server + hostname = f"cli-update-state-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Update state + result = run_cli_command([ + "update", str(server_id), + "--state", "offline" + ]) + + assert result["returncode"] == 0 + assert "offline" in result["output"] + + def test_update_server_multiple_fields(self, cleanup_servers): + """Test updating multiple fields.""" + # Create a server + hostname = f"cli-update-multi-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Update multiple fields + result = run_cli_command([ + "update", str(server_id), + "--hostname", "multi-updated", + "--ip-address", "172.16.0.1", + "--state", "retired" + ]) + + assert result["returncode"] == 0 + assert "multi-updated" in result["output"] + assert "172.16.0.1" in result["output"] + assert "retired" in result["output"] + + def test_update_server_not_found(self): + """Test updating non-existent server.""" + result = run_cli_command([ + "update", "999999", + "--hostname", "new-name" + ]) + + assert result["returncode"] != 0 + assert "not found" in result["output"].lower() + + def test_update_server_no_fields(self, cleanup_servers): + """Test updating with no fields provided.""" + # Create a server + hostname = f"cli-update-no-fields-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Try to update with no fields + result = run_cli_command(["update", str(server_id)]) + + assert result["returncode"] != 0 + assert "at least one field" in result["output"].lower() or "error" in result["output"].lower() + + def test_update_server_invalid_ip(self, cleanup_servers): + """Test updating with invalid IP.""" + # Create a server + hostname = f"cli-update-invalid-ip-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Try to update with invalid IP + result = run_cli_command([ + "update", str(server_id), + "--ip-address", "invalid.ip" + ]) + + assert result["returncode"] != 0 + assert "invalid" in result["output"].lower() or "ip" in result["output"].lower() + + +class TestCLIDelete: + """Tests for CLI delete command.""" + + def test_delete_server_success(self): + """Test deleting a server.""" + # Create a server + hostname = f"cli-delete-test-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + # Delete the server (with confirmation) + result = run_cli_command(["delete", str(server_id)], input_text="y\n") + + assert result["returncode"] == 0 + assert "deleted" in result["output"].lower() + + # Verify server is deleted + get_result = run_cli_command(["get", str(server_id)]) + assert get_result["returncode"] != 0 + assert "not found" in get_result["output"].lower() + + def test_delete_server_not_found(self): + """Test deleting non-existent server.""" + result = run_cli_command(["delete", "999999"], input_text="y\n") + assert result["returncode"] != 0 + assert "not found" in result["output"].lower() + + def test_delete_server_cancelled(self, cleanup_servers): + """Test cancelling delete operation.""" + # Create a server + hostname = f"cli-delete-cancel-{int(time.time())}" + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + cleanup_servers.append(server_id) + + # Try to delete but cancel + result = run_cli_command(["delete", str(server_id)], input_text="n\n") + + # Should abort (non-zero exit code or specific message) + # The server should still exist + get_result = run_cli_command(["get", str(server_id)]) + assert get_result["returncode"] == 0 # Server should still exist + + +class TestCLIEndToEnd: + """End-to-end CLI workflow tests.""" + + def test_full_cli_workflow(self): + """Test a complete CLI workflow.""" + hostname = f"cli-e2e-{int(time.time())}" + + # Create + create_result = run_cli_command([ + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.200", + "--state", "active" + ]) + assert create_result["returncode"] == 0 + server_id = extract_server_id(create_result["output"]) + + if not server_id: + pytest.skip("Could not extract server ID") + + try: + # Read + get_result = run_cli_command(["get", str(server_id)]) + assert get_result["returncode"] == 0 + assert hostname in get_result["output"] + + # Update + update_result = run_cli_command([ + "update", str(server_id), + "--state", "offline" + ]) + assert update_result["returncode"] == 0 + + # Verify update + get_result2 = run_cli_command(["get", str(server_id)]) + assert get_result2["returncode"] == 0 + assert "offline" in get_result2["output"] + + # List (should include our server) + list_result = run_cli_command(["list"]) + assert list_result["returncode"] == 0 + assert hostname in list_result["output"] + + finally: + # Delete + delete_result = run_cli_command(["delete", str(server_id)], input_text="y\n") + assert delete_result["returncode"] == 0 + + +class TestCLIOptions: + """Tests for CLI options.""" + + def test_custom_api_url(self, cleanup_servers): + """Test using custom API URL.""" + hostname = f"cli-custom-url-{int(time.time())}" + result = run_cli_command([ + "--api-url", API_BASE_URL, + "create", + "--hostname", hostname, + "--ip-address", "192.168.1.1", + "--state", "active" + ]) + + assert result["returncode"] == 0 + server_id = extract_server_id(result["output"]) + if server_id: + cleanup_servers.append(server_id) + + def test_help_command(self): + """Test CLI help command.""" + result = run_cli_command(["--help"]) + assert result["returncode"] == 0 + assert "Server Inventory Management CLI" in result["output"] + + def test_list_help(self): + """Test list command help.""" + result = run_cli_command(["list", "--help"]) + assert result["returncode"] == 0 + assert "list" in result["output"].lower() + diff --git a/flask_api/tests/test_integration.py b/flask_api/tests/test_integration.py new file mode 100644 index 0000000..bb58907 --- /dev/null +++ b/flask_api/tests/test_integration.py @@ -0,0 +1,660 @@ +""" +Integration tests for the Server Inventory Management API. + +These tests require the service to be running via docker-compose. +Run with: pytest flask_api/tests/test_integration.py + +Make sure docker-compose is running: + docker compose up -d +""" + +import pytest +import requests +import time +from typing import Dict, Any, Optional + + +# API Configuration +API_BASE_URL = "http://localhost:5001" +API_TIMEOUT = 10 +MAX_RETRIES = 30 +RETRY_DELAY = 1 + + +def wait_for_api(max_retries: int = MAX_RETRIES, delay: int = RETRY_DELAY) -> bool: + """Wait for the API to be available.""" + for _ in range(max_retries): + try: + response = requests.get(f"{API_BASE_URL}/servers", timeout=2) + if response.status_code in [200, 404]: # 404 is OK, means API is up + return True + except requests.exceptions.RequestException: + pass + time.sleep(delay) + return False + + +@pytest.fixture(scope="module", autouse=True) +def ensure_api_available(): + """Ensure API is available before running tests.""" + if not wait_for_api(): + pytest.skip("API is not available. Make sure docker-compose is running.") + + +@pytest.fixture(scope="function") +def cleanup_servers(): + """Cleanup fixture that removes all servers created during tests.""" + created_server_ids = [] + + yield created_server_ids + + # Cleanup: Delete all created servers + for server_id in created_server_ids: + try: + requests.delete(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + except requests.exceptions.RequestException: + pass # Ignore cleanup errors + + +class TestAPIConnectivity: + """Test basic API connectivity.""" + + def test_api_is_accessible(self): + """Test that the API is accessible.""" + response = requests.get(f"{API_BASE_URL}/servers", timeout=API_TIMEOUT) + assert response.status_code in [200, 404] # 200 or 404 (empty) is fine + + +class TestCreateServer: + """Integration tests for creating servers.""" + + def test_create_server_success(self, cleanup_servers): + """Test creating a server with valid data.""" + data = { + "hostname": f"test-server-{int(time.time())}", + "ip_address": "192.168.1.100", + "server_state": "active" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 201 + result = response.json() + assert "server_id" in result + assert isinstance(result["server_id"], int) + cleanup_servers.append(result["server_id"]) + + def test_create_server_all_valid_states(self, cleanup_servers): + """Test creating servers with all valid states.""" + valid_states = ["active", "offline", "retired"] + + for state in valid_states: + data = { + "hostname": f"test-{state}-{int(time.time())}", + "ip_address": "10.0.0.1", + "server_state": state + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 201 + result = response.json() + cleanup_servers.append(result["server_id"]) + + def test_create_server_duplicate_hostname(self, cleanup_servers): + """Test that duplicate hostname returns 400.""" + hostname = f"duplicate-test-{int(time.time())}" + data = { + "hostname": hostname, + "ip_address": "192.168.1.1", + "server_state": "active" + } + + # Create first server + response1 = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + assert response1.status_code == 201 + cleanup_servers.append(response1.json()["server_id"]) + + # Try to create duplicate + response2 = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response2.status_code == 400 + error_data = response2.json() + assert "already exists" in error_data.get("error", "").lower() + + def test_create_server_missing_hostname(self): + """Test that missing hostname returns 400.""" + data = { + "ip_address": "192.168.1.1", + "server_state": "active" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "hostname" in error_data.get("error", "").lower() + + def test_create_server_missing_ip_address(self): + """Test that missing IP address returns 400.""" + data = { + "hostname": "test-server", + "server_state": "active" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "ip_address" in error_data.get("error", "").lower() + + def test_create_server_missing_state(self): + """Test that missing server_state returns 400.""" + data = { + "hostname": "test-server", + "ip_address": "192.168.1.1" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "server_state" in error_data.get("error", "").lower() + + def test_create_server_invalid_ip_format(self): + """Test that invalid IP format returns 400.""" + data = { + "hostname": "test-server", + "ip_address": "not.an.ip.address", + "server_state": "active" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "ip" in error_data.get("error", "").lower() + + def test_create_server_invalid_state(self): + """Test that invalid state returns 400.""" + data = { + "hostname": "test-server", + "ip_address": "192.168.1.1", + "server_state": "invalid_state" + } + + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "server_state" in error_data.get("error", "").lower() or "active, offline, retired" in error_data.get("error", "") + + +class TestListServers: + """Integration tests for listing servers.""" + + def test_list_servers_empty(self): + """Test listing servers when database is empty (or after cleanup).""" + response = requests.get(f"{API_BASE_URL}/servers", timeout=API_TIMEOUT) + + # Should return 200 even if empty + assert response.status_code == 200 + servers = response.json() + assert isinstance(servers, list) + + def test_list_servers_with_data(self, cleanup_servers): + """Test listing servers with data.""" + # Create a few servers + server_ids = [] + for i in range(3): + data = { + "hostname": f"list-test-{i}-{int(time.time())}", + "ip_address": f"192.168.1.{i+1}", + "server_state": "active" + } + response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + assert response.status_code == 201 + server_ids.append(response.json()["server_id"]) + cleanup_servers.extend(server_ids) + + # List servers + response = requests.get(f"{API_BASE_URL}/servers", timeout=API_TIMEOUT) + assert response.status_code == 200 + servers = response.json() + assert isinstance(servers, list) + assert len(servers) >= 3 + + # Verify all created servers are in the list + server_ids_in_response = [s["id"] for s in servers] + for server_id in server_ids: + assert server_id in server_ids_in_response + + +class TestGetServer: + """Integration tests for getting a single server.""" + + def test_get_server_success(self, cleanup_servers): + """Test getting a server by ID.""" + # Create a server + data = { + "hostname": f"get-test-{int(time.time())}", + "ip_address": "192.168.1.50", + "server_state": "offline" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + assert create_response.status_code == 201 + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Get the server + response = requests.get(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + assert response.status_code == 200 + server = response.json() + + assert server["id"] == server_id + assert server["hostname"] == data["hostname"] + assert server["ip_address"] == data["ip_address"] + assert server["server_state"] == data["server_state"] + + def test_get_server_not_found(self): + """Test getting a non-existent server returns 404.""" + # Use a very large ID that shouldn't exist + response = requests.get(f"{API_BASE_URL}/servers/999999", timeout=API_TIMEOUT) + assert response.status_code == 404 + error_data = response.json() + assert "not found" in error_data.get("error", "").lower() + + def test_get_server_invalid_id(self): + """Test getting a server with invalid ID format.""" + response = requests.get(f"{API_BASE_URL}/servers/invalid", timeout=API_TIMEOUT) + # Flask-RESTful should return 404 for invalid ID format + assert response.status_code == 404 + + +class TestUpdateServer: + """Integration tests for updating servers.""" + + def test_update_server_hostname(self, cleanup_servers): + """Test updating server hostname.""" + # Create a server + data = { + "hostname": f"update-test-{int(time.time())}", + "ip_address": "192.168.1.100", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Update hostname + update_data = {"hostname": "updated-hostname"} + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 200 + result = response.json() + assert result["hostname"] == "updated-hostname" + assert result["id"] == server_id + + def test_update_server_ip_address(self, cleanup_servers): + """Test updating server IP address.""" + # Create a server + data = { + "hostname": f"update-ip-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Update IP address + update_data = {"ip_address": "10.0.0.1"} + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 200 + result = response.json() + assert result["ip_address"] == "10.0.0.1" + + def test_update_server_state(self, cleanup_servers): + """Test updating server state.""" + # Create a server + data = { + "hostname": f"update-state-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Update state + update_data = {"server_state": "offline"} + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 200 + result = response.json() + assert result["server_state"] == "offline" + + def test_update_server_multiple_fields(self, cleanup_servers): + """Test updating multiple fields at once.""" + # Create a server + data = { + "hostname": f"update-multi-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Update multiple fields + update_data = { + "hostname": "multi-updated", + "ip_address": "172.16.0.1", + "server_state": "retired" + } + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 200 + result = response.json() + assert result["hostname"] == "multi-updated" + assert result["ip_address"] == "172.16.0.1" + assert result["server_state"] == "retired" + + def test_update_server_not_found(self): + """Test updating non-existent server returns 404.""" + update_data = {"hostname": "new-name"} + response = requests.put( + f"{API_BASE_URL}/servers/999999", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 404 + error_data = response.json() + assert "not found" in error_data.get("error", "").lower() + + def test_update_server_invalid_ip(self, cleanup_servers): + """Test updating with invalid IP returns 400.""" + # Create a server + data = { + "hostname": f"invalid-ip-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Try to update with invalid IP + update_data = {"ip_address": "invalid.ip"} + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "ip" in error_data.get("error", "").lower() + + def test_update_server_invalid_state(self, cleanup_servers): + """Test updating with invalid state returns 400.""" + # Create a server + data = { + "hostname": f"invalid-state-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Try to update with invalid state + update_data = {"server_state": "invalid_state"} + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "server_state" in error_data.get("error", "").lower() + + def test_update_server_no_fields(self, cleanup_servers): + """Test updating with no fields returns 400.""" + # Create a server + data = { + "hostname": f"no-fields-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + cleanup_servers.append(server_id) + + # Try to update with empty payload + response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json={}, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + + assert response.status_code == 400 + error_data = response.json() + assert "request body is required" in error_data.get("error", "").lower() + + +class TestDeleteServer: + """Integration tests for deleting servers.""" + + def test_delete_server_success(self): + """Test deleting a server.""" + # Create a server + data = { + "hostname": f"delete-test-{int(time.time())}", + "ip_address": "192.168.1.1", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + server_id = create_response.json()["server_id"] + + # Delete the server + response = requests.delete(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + assert response.status_code == 200 + result = response.json() + assert "deleted" in result.get("message", "").lower() + + # Verify server is deleted + get_response = requests.get(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + assert get_response.status_code == 404 + + def test_delete_server_not_found(self): + """Test deleting non-existent server returns 404.""" + response = requests.delete(f"{API_BASE_URL}/servers/999999", timeout=API_TIMEOUT) + assert response.status_code == 404 + error_data = response.json() + assert "not found" in error_data.get("error", "").lower() + + +class TestEndToEndWorkflow: + """End-to-end workflow tests.""" + + def test_full_crud_workflow(self): + """Test a complete CRUD workflow.""" + # Create + data = { + "hostname": f"e2e-test-{int(time.time())}", + "ip_address": "192.168.1.200", + "server_state": "active" + } + + create_response = requests.post( + f"{API_BASE_URL}/servers", + json=data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + assert create_response.status_code == 201 + server_id = create_response.json()["server_id"] + + try: + # Read + get_response = requests.get(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + assert get_response.status_code == 200 + server = get_response.json() + assert server["hostname"] == data["hostname"] + + # Update + update_data = {"server_state": "offline"} + update_response = requests.put( + f"{API_BASE_URL}/servers/{server_id}", + json=update_data, + headers={"Content-Type": "application/json"}, + timeout=API_TIMEOUT + ) + assert update_response.status_code == 200 + updated_server = update_response.json() + assert updated_server["server_state"] == "offline" + + # Verify in list + list_response = requests.get(f"{API_BASE_URL}/servers", timeout=API_TIMEOUT) + assert list_response.status_code == 200 + servers = list_response.json() + server_ids = [s["id"] for s in servers] + assert server_id in server_ids + + finally: + # Delete + delete_response = requests.delete(f"{API_BASE_URL}/servers/{server_id}", timeout=API_TIMEOUT) + assert delete_response.status_code == 200 + diff --git a/flask_api/tests/test_validation.py b/flask_api/tests/test_validation.py new file mode 100644 index 0000000..dd6229e --- /dev/null +++ b/flask_api/tests/test_validation.py @@ -0,0 +1,183 @@ +import pytest +from unittest.mock import Mock, patch +from flask import Flask +from app import validate_ip_address, validate_server_state, ServerList, Server + + +class TestIPValidation: + """Unit tests for IP address validation using app validation function.""" + + @pytest.mark.parametrize("ip_address", [ + "192.168.1.1", + "10.0.0.1", + "172.16.0.1", + "0.0.0.0", + "255.255.255.255", + ]) + def test_valid_ip_addresses(self, ip_address): + """Test that valid IP addresses pass validation.""" + assert validate_ip_address(ip_address) is True, f"Valid IP {ip_address} failed validation" + + @pytest.mark.parametrize("ip_address", [ + "192.168.1", + "192.168.1.256", + "192.168.1.1.1", + "not.an.ip", + "192.168.-1.1", + "", + "192.168.1.1/24", + "192.168.1.1:8080", + None, + ]) + def test_invalid_ip_addresses(self, ip_address): + """Test that invalid IP addresses fail validation.""" + assert validate_ip_address(ip_address) is False, f"Invalid IP {ip_address} should have failed validation" + + @patch('app.get_db_connection') + def test_create_server_invalid_ip_returns_400(self, mock_db): + """Test that creating a server with invalid IP returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "ip_address": "invalid.ip", "server_state": "active"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "Invalid IP address format" in response["error"] + + @patch('app.get_db_connection') + def test_create_server_missing_ip_returns_400(self, mock_db): + """Test that creating a server without IP returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "server_state": "active"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "ip_address is required" in response["error"] + + @patch('app.get_db_connection') + def test_update_server_invalid_ip_returns_400(self, mock_db): + """Test that updating a server with invalid IP returns 400.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "test", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1', method='PUT', + json={"ip_address": "not.an.ip"}): + server = Server() + response, status_code = server.put(1) + + assert status_code == 400 + assert "Invalid IP address format" in response["error"] + + +class TestServerStateValidation: + """Unit tests for server state validation using app validation function.""" + + VALID_STATES = ["active", "offline", "retired"] + + @pytest.mark.parametrize("state", VALID_STATES) + def test_valid_states(self, state): + """Test that valid states pass validation.""" + assert validate_server_state(state) is True, f"Valid state {state} should pass validation" + + @pytest.mark.parametrize("state", [ + "ACTIVE", + "running", + "stopped", + "pending", + "", + None, + "active ", + " active", + "Active", + "OFFLINE", + ]) + def test_invalid_states(self, state): + """Test that invalid states fail validation.""" + assert validate_server_state(state) is False, f"Invalid state {state} should fail validation" + + @patch('app.get_db_connection') + def test_create_server_invalid_state_returns_400(self, mock_db): + """Test that creating a server with invalid state returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "ip_address": "192.168.1.1", "server_state": "invalid"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "server_state must be one of" in response["error"] + + @patch('app.get_db_connection') + def test_create_server_missing_state_returns_400(self, mock_db): + """Test that creating a server without state returns 400.""" + app = Flask(__name__) + + with app.test_request_context('/servers', method='POST', + json={"hostname": "test-server", "ip_address": "192.168.1.1"}): + server_list = ServerList() + response, status_code = server_list.post() + + assert status_code == 400 + assert "server_state is required" in response["error"] + + @patch('app.get_db_connection') + def test_update_server_invalid_state_returns_400(self, mock_db): + """Test that updating a server with invalid state returns 400.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.return_value = {"id": 1, "hostname": "test", "ip_address": "192.168.1.1", "server_state": "active"} + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers/1', method='PUT', + json={"server_state": "invalid_state"}): + server = Server() + response, status_code = server.put(1) + + assert status_code == 400 + assert "server_state must be one of" in response["error"] + + @pytest.mark.parametrize("state", VALID_STATES) + @patch('app.get_db_connection') + def test_create_server_valid_states_accepted(self, mock_db, state): + """Test that all valid states are accepted when creating a server.""" + app = Flask(__name__) + + mock_conn = Mock() + mock_cursor = Mock() + mock_cursor.fetchone.side_effect = [{"id": 1}, {"id": 1}] + mock_conn.cursor.return_value.__enter__ = Mock(return_value=mock_cursor) + mock_conn.cursor.return_value.__exit__ = Mock(return_value=False) + mock_conn.__enter__ = Mock(return_value=mock_conn) + mock_conn.__exit__ = Mock(return_value=False) + mock_db.return_value = mock_conn + + with app.test_request_context('/servers', method='POST', + json={"hostname": f"test-{state}", "ip_address": "192.168.1.1", "server_state": state}): + server_list = ServerList() + response, status_code = server_list.post() + + # Should succeed (201) or fail for other reasons (like duplicate), but not validation error + assert status_code in [201, 400] + if status_code == 400: + # If it's 400, it shouldn't be a validation error for state + assert "server_state must be one of" not in response.get("error", "") \ No newline at end of file diff --git a/init_db.sql b/init_db.sql index 8f875b4..26f2a4a 100644 --- a/init_db.sql +++ b/init_db.sql @@ -1,7 +1,78 @@ - -CREATE TABLE IF NOT EXISTS servers ( +-- Database initialization script to create tables and procedures. +CREATE TABLE servers ( id SERIAL PRIMARY KEY, - hostname VARCHAR(255) NOT NULL, - ip_address VARCHAR(45) NOT NULL, - state VARCHAR(10) CHECK (state IN ('active', 'offline', 'retired')) NOT NULL -); \ No newline at end of file + hostname VARCHAR(255) UNIQUE NOT NULL, + ip_address INET NOT NULL, + server_state VARCHAR(10) CHECK (server_state IN ('active', 'offline', 'retired')) NOT NULL +); + +-- Use functions and stored procedures to protect against SQL injection and improve performance. + +-- Insert a new server +CREATE PROCEDURE insert_server(_hostname VARCHAR(255), _ip_address INET, _server_state VARCHAR) +LANGUAGE plpgsql +AS $$ +BEGIN + INSERT INTO servers(hostname, ip_address, server_state) + VALUES(_hostname, _ip_address, _server_state); +END; +$$; + +-- List all servers +CREATE FUNCTION list_servers() +RETURNS TABLE(id INT, hostname VARCHAR(255), ip_address INET, server_state VARCHAR(10)) +LANGUAGE plpgsql +AS $$ +BEGIN + RETURN QUERY SELECT * FROM servers; +END; +$$; + +-- Update a server +CREATE PROCEDURE update_server(_id INT, _hostname VARCHAR(255), _ip_address INET, _server_state VARCHAR) +LANGUAGE plpgsql +AS $$ +BEGIN + UPDATE servers + SET hostname = _hostname, + ip_address = _ip_address, + server_state = _server_state + WHERE id = _id; +END; +$$; + +-- Get a server by ID +CREATE FUNCTION get_server(_id INT) +RETURNS TABLE(id INT, hostname VARCHAR(255), ip_address INET, server_state VARCHAR(10)) +LANGUAGE plpgsql +AS $$ +BEGIN + RETURN QUERY SELECT * FROM servers WHERE servers.id = _id; +END; +$$; + +-- Delete a server +CREATE PROCEDURE delete_server(_id INT) +LANGUAGE plpgsql +AS $$ +BEGIN + DELETE FROM servers + WHERE id = _id; +END; +$$; + + + + + + + + + + + + + + + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..333a8c8 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +pytest +flask +flask-restful +psycopg2-binary +requests +click \ No newline at end of file diff --git a/scripts/cli-test.sh b/scripts/cli-test.sh new file mode 100755 index 0000000..fb192ac --- /dev/null +++ b/scripts/cli-test.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# CLI test script +# This script starts the docker-compose services and runs CLI tests + +set -e # Exit on error + +# Create a virtual environment and install dependencies +python3 -m venv challenge-env +source challenge-env/bin/activate +pip install -r requirements.txt + +# Make sure all services are stopped +docker compose down + +echo "Starting docker-compose services..." +docker compose up --build -d + +echo "Waiting for services to be ready..." +sleep 5 + +# Wait for API to be available +MAX_RETRIES=30 +RETRY_COUNT=0 +API_URL="http://localhost:5001" + +while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do + if curl -s -f "$API_URL/servers" > /dev/null 2>&1; then + echo "API is ready!" + break + fi + RETRY_COUNT=$((RETRY_COUNT + 1)) + echo "Waiting for API... ($RETRY_COUNT/$MAX_RETRIES)" + sleep 2 +done + +if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then + echo "ERROR: API did not become available in time" + docker compose logs flask_api + docker compose down + exit 1 +fi + +echo "Running CLI tests..." +pytest flask_api/tests/test_cli.py -v + +TEST_EXIT_CODE=$? + +echo "Stopping docker-compose services..." +docker compose down + +exit $TEST_EXIT_CODE + diff --git a/scripts/integration-test.sh b/scripts/integration-test.sh new file mode 100755 index 0000000..61e5e07 --- /dev/null +++ b/scripts/integration-test.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# Integration test script +# This script starts the docker-compose services and runs integration tests + +set -e # Exit on error + +# Create a virtual environment and install dependencies +python3 -m venv challenge-env +source challenge-env/bin/activate +pip install -r requirements.txt + +# Make sure all services are stopped +docker compose down + +echo "Starting docker-compose services..." +docker compose up --build -d + +echo "Waiting for services to be ready..." +sleep 5 + +# Wait for API to be available +MAX_RETRIES=30 +RETRY_COUNT=0 +API_URL="http://localhost:5001" + +while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do + if curl -s -f "$API_URL/servers" > /dev/null 2>&1; then + echo "API is ready!" + break + fi + RETRY_COUNT=$((RETRY_COUNT + 1)) + echo "Waiting for API... ($RETRY_COUNT/$MAX_RETRIES)" + sleep 2 +done + +if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then + echo "ERROR: API did not become available in time" + docker compose logs flask_api + docker compose down + exit 1 +fi + +echo "Running integration tests..." +pytest flask_api/tests/test_integration.py -v + +TEST_EXIT_CODE=$? + +echo "Stopping docker-compose services..." +docker compose down + +# Deactivate virtual environment +deactivate + +exit $TEST_EXIT_CODE diff --git a/scripts/unit-test.sh b/scripts/unit-test.sh new file mode 100755 index 0000000..658334a --- /dev/null +++ b/scripts/unit-test.sh @@ -0,0 +1,15 @@ +#! /bin/bash + +set -e # Exit on error + +# Create a virtual environment and install dependencies +python3 -m venv challenge-env +source challenge-env/bin/activate +pip install -r requirements.txt + +# Run unit tests +pytest flask_api/tests/test_api_logic.py -v +pytest flask_api/tests/test_validation.py -v + +# Deactivate virtual environment +deactivate \ No newline at end of file