Klasta commited on
Commit
e4dedf8
·
1 Parent(s): e621c5e

Add test and CI workflow

Browse files
.github/workflows/ci.yml ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Run Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Checkout repo
15
+ uses: actions/checkout@v3
16
+
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v4
19
+ with:
20
+ python-version: "3.12"
21
+
22
+ - name: Install dependencies
23
+ run: |
24
+ python -m pip install --upgrade pip
25
+ pip install -r requirements.txt
26
+ pip install pytest
27
+
28
+ - name: Run tests
29
+ run: |
30
+ pytest
.github/workflows/deploy.yml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Deploy to Hugging Face Spaces
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ jobs:
8
+ deploy:
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - name: Checkout code
13
+ uses: actions/checkout@v3
14
+
15
+ - name: Set up Git config
16
+ run: |
17
+ git config --global user.name "nls-forev"
18
+ git config --global user.email "rj07605@gmail.com"
19
+
20
+ - name: Push to Hugging Face Space
21
+ run: |
22
+ git remote add hf https://Klasta:${{ secrets.HF_TOKEN }}@huggingface.co/spaces/Klasta/testing_spaces
23
+ git push hf main --force
test_app.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi.testclient import TestClient
2
+ from app.main import app
3
+
4
+ client = TestClient(app)
5
+
6
+
7
+ def test_root():
8
+ response = client.get("/")
9
+ assert response.status_code == 200
10
+ assert response.json() == {"message": "API is working!"}