blob: 203cee6913c2c8e02ed56c7be6d9811bbbd8b545 [file] [log] [blame]
#!/usr/bin/env python3
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from unittest import mock
from server.net.api_handler import *
from server.query import QueryHandler
class TestApiHandler(unittest.TestCase):
@mock.patch.object(QueryHandler, "packages", autospec=True)
def test_respond_packages(self, mock_packages_method):
api_handler = ApiHandler(mock.Mock())
mock_packages_method.return_value = {}
self.assertIsNotNone(api_handler.respond("/api/component/packages"))
mock_packages_method.assert_called()
@mock.patch.object(QueryHandler, "services", autospec=True)
def test_respond_services(self, mock_services_method):
api_handler = ApiHandler(mock.Mock())
mock_services_method.return_value = {}
self.assertIsNotNone(api_handler.respond("/api/component/services"))
mock_services_method.assert_called()
@mock.patch.object(QueryHandler, "component_graph", autospec=True)
def test_respond_component_graph(self, mock_component_graph_method):
api_handler = ApiHandler(mock.Mock())
mock_component_graph_method.return_value = {}
self.assertIsNotNone(api_handler.respond("/api/component/graph"))
mock_component_graph_method.assert_called()
def test_invalid_path(self):
api_handler = ApiHandler(mock.Mock())
self.assertIsNone(api_handler.respond(""))
self.assertIsNone(api_handler.respond("/api"))
self.assertIsNone(api_handler.respond("/api/"))
self.assertIsNone(api_handler.respond("/api/component"))
self.assertIsNone(api_handler.respond("/api/component/g"))
self.assertIsNone(api_handler.respond("/api/component/graph1"))
self.assertIsNone(api_handler.respond("/api/component/invalid_path"))
if __name__ == "__main__":
unittest.main()