mirror of
https://github.com/aquasecurity/kube-hunter.git
synced 2026-05-20 08:06:24 +00:00
Dashboard hunter not working (#337)
* Fix dashboard hunter regression Fix #336. Add tests for dashboard hunter Co-authored-by: Yehuda Chikvashvili <yehudaac1@gmail.com>
This commit is contained in:
37
tests/hunting/test_dashboard.py
Normal file
37
tests/hunting/test_dashboard.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import json
|
||||
|
||||
from types import SimpleNamespace
|
||||
from requests_mock import Mocker
|
||||
from kube_hunter.modules.hunting.dashboard import KubeDashboard
|
||||
|
||||
|
||||
class TestKubeDashboard:
|
||||
@staticmethod
|
||||
def get_nodes_mock(result: dict, **kwargs):
|
||||
with Mocker() as m:
|
||||
m.get("http://mockdashboard:8000/api/v1/node", text=json.dumps(result), **kwargs)
|
||||
hunter = KubeDashboard(SimpleNamespace(host="mockdashboard", port=8000))
|
||||
return hunter.get_nodes()
|
||||
|
||||
@staticmethod
|
||||
def test_get_nodes_with_result():
|
||||
nodes = {"nodes": [{"objectMeta": {"name": "node1"}}]}
|
||||
expected = ["node1"]
|
||||
actual = TestKubeDashboard.get_nodes_mock(nodes)
|
||||
|
||||
assert expected == actual
|
||||
|
||||
@staticmethod
|
||||
def test_get_nodes_without_result():
|
||||
nodes = {"nodes": []}
|
||||
expected = []
|
||||
actual = TestKubeDashboard.get_nodes_mock(nodes)
|
||||
|
||||
assert expected == actual
|
||||
|
||||
@staticmethod
|
||||
def test_get_nodes_invalid_result():
|
||||
expected = None
|
||||
actual = TestKubeDashboard.get_nodes_mock(dict(), status_code=404)
|
||||
|
||||
assert expected == actual
|
||||
Reference in New Issue
Block a user