Skip to content

Commit 853fc48

Browse files
committed
feat: ✨ add tests for docker hub statistics module
1 parent 80a254f commit 853fc48

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

tests/__init__.py

Whitespace-only changes.

tests/unit/__init__.py

Whitespace-only changes.
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import unittest
2+
from typing import Any, Dict
3+
from unittest.mock import MagicMock, patch
4+
5+
from src.dockerHubStats.dockerHubStatsService import DockerHubService
6+
7+
USER_NAME: str = "localstack"
8+
IMAGE_NAME: str = "localstack"
9+
10+
11+
class TestDockerHubService(unittest.TestCase):
12+
def setUp(self) -> None:
13+
self.user_name: str = USER_NAME
14+
self.image_name: str = IMAGE_NAME
15+
self.service: DockerHubService = DockerHubService(
16+
self.user_name, self.image_name
17+
)
18+
19+
@patch("src.dockerHubStats.dockerHubStatsService.requests.get")
20+
def test_get_dockerhub_image_stats_success(self, mock_get: MagicMock) -> None:
21+
mock_response: Dict[str, Any] = {"pull_count": 100, "star_count": 50}
22+
mock_get.return_value.status_code = 200
23+
mock_get.return_value.json.return_value = mock_response
24+
25+
pull_count, star_count = self.service.get_dockerhub_image_stats()
26+
27+
self.assertEqual(pull_count, 100)
28+
self.assertEqual(star_count, 50)
29+
30+
@patch("src.dockerHubStats.dockerHubStatsService.requests.get")
31+
def test_get_dockerhub_image_stats_error(self, mock_get: MagicMock) -> None:
32+
mock_get.return_value.status_code = 404
33+
34+
with self.assertRaises(Exception):
35+
self.service.get_dockerhub_image_stats()
36+
37+
38+
if __name__ == "__main__":
39+
unittest.main()

0 commit comments

Comments
 (0)