Skip to content

Commit

Permalink
Add publish to pypi workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
ernestasga committed Jan 17, 2024
1 parent 1d941cc commit c4cc97d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 10 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
16 changes: 6 additions & 10 deletions tests/test_api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from python_solarfrontier.api import SolarFrontierAPI
import unittest
from unittest.mock import patch, AsyncMock, MagicMock
from unittest.mock import patch, AsyncMock
import asyncio
import aiohttp

Expand Down Expand Up @@ -131,7 +131,7 @@ def test_get_measurements_unexpected_response(self, mock_get):
@patch('aiohttp.ClientSession.get')
def test_get_yield_day_success(self, mock_get):
# Mock a successful response
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "5.0Wh"' # Example format
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "5.0Wh"'
mock_get.return_value.__aenter__.return_value.status = 200
mock_get.return_value.__aenter__.return_value.text = AsyncMock(return_value=mock_response_text)

Expand Down Expand Up @@ -161,7 +161,7 @@ def test_get_yield_day_unexpected_response(self, mock_get):
@patch('aiohttp.ClientSession.get')
def test_get_yield_month_success(self, mock_get):
# Mock a successful response
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "100.0Wh"' # Example format
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "100.0Wh"'
mock_get.return_value.__aenter__.return_value.status = 200
mock_get.return_value.__aenter__.return_value.text = AsyncMock(return_value=mock_response_text)

Expand Down Expand Up @@ -191,7 +191,7 @@ def test_get_yield_month_unexpected_response(self, mock_get):
@patch('aiohttp.ClientSession.get')
def test_get_yield_year_success(self, mock_get):
# Mock a successful response
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "500.0Wh"' # Example format
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "500.0Wh"'
mock_get.return_value.__aenter__.return_value.status = 200
mock_get.return_value.__aenter__.return_value.text = AsyncMock(return_value=mock_response_text)

Expand Down Expand Up @@ -221,7 +221,7 @@ def test_get_yield_year_unexpected_response(self, mock_get):
@patch('aiohttp.ClientSession.get')
def test_get_yield_total_success(self, mock_get):
# Mock a successful response
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "1000.0Wh"' # Example format
mock_response_text = 'document.getElementById("labelValueId").innerHTML = "1000.0Wh"'
mock_get.return_value.__aenter__.return_value.status = 200
mock_get.return_value.__aenter__.return_value.text = AsyncMock(return_value=mock_response_text)

Expand Down Expand Up @@ -250,12 +250,8 @@ def test_get_yield_total_unexpected_response(self, mock_get):

@patch('aiohttp.ClientSession.close', new_callable=AsyncMock)
def test_close(self, mock_close):
session = self.api.session

# Close the API session
self.api.session
asyncio.run(self.api.close())

# Check if the close method of the session was called
mock_close.assert_called()


Expand Down

0 comments on commit c4cc97d

Please sign in to comment.