xref: /aosp_15_r20/external/autotest/server/afe_urls_unittest.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li#!/usr/bin/python3
2*9c5db199SXin Li# Copyright 2016 The Chromium OS Authors. All rights reserved.
3*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
4*9c5db199SXin Li# found in the LICENSE file.
5*9c5db199SXin Li
6*9c5db199SXin Liimport six.moves.urllib.parse
7*9c5db199SXin Liimport unittest
8*9c5db199SXin Li
9*9c5db199SXin Liimport common
10*9c5db199SXin Li
11*9c5db199SXin Lifrom autotest_lib.server import afe_urls
12*9c5db199SXin Li
13*9c5db199SXin Li
14*9c5db199SXin Liclass AfeUrlsTestCase(unittest.TestCase):
15*9c5db199SXin Li
16*9c5db199SXin Li    """Tests for AfeUrls."""
17*9c5db199SXin Li
18*9c5db199SXin Li    def assertURLEqual(self, a, b):
19*9c5db199SXin Li        """Assert two URLs are equal.
20*9c5db199SXin Li
21*9c5db199SXin Li        @param a First URL to compare
22*9c5db199SXin Li        @param b First URL to compare
23*9c5db199SXin Li
24*9c5db199SXin Li        """
25*9c5db199SXin Li        urlsplit = six.moves.urllib.parse.urlsplit
26*9c5db199SXin Li        self.assertEqual(urlsplit(a), urlsplit(b))
27*9c5db199SXin Li
28*9c5db199SXin Li    def test__geturl(self):
29*9c5db199SXin Li        """Test _geturl() happy path."""
30*9c5db199SXin Li        urls = afe_urls.AfeUrls('http://localhost/afe/')
31*9c5db199SXin Li        got = urls._geturl({'foo': 'bar', 'spam': 'eggs'})
32*9c5db199SXin Li        self.assertURLEqual(got, 'http://localhost/afe/#foo=bar&spam=eggs')
33*9c5db199SXin Li
34*9c5db199SXin Li    def test_get_host_url(self):
35*9c5db199SXin Li        """Test get_host_url() happy path."""
36*9c5db199SXin Li        urls = afe_urls.AfeUrls('http://localhost/afe/')
37*9c5db199SXin Li        got = urls.get_host_url(42)
38*9c5db199SXin Li        self.assertURLEqual(
39*9c5db199SXin Li            got,
40*9c5db199SXin Li            'http://localhost/afe/#tab_id=view_host&object_id=42')
41*9c5db199SXin Li
42*9c5db199SXin Li    def test_root_url(self):
43*9c5db199SXin Li        """Test happy path for root_url attribute."""
44*9c5db199SXin Li        urls = afe_urls.AfeUrls('http://localhost/afe/')
45*9c5db199SXin Li        self.assertEqual(urls.root_url, 'http://localhost/afe/')
46*9c5db199SXin Li
47*9c5db199SXin Li    def test_equal(self):
48*9c5db199SXin Li        """Test happy path for equality."""
49*9c5db199SXin Li        urls1 = afe_urls.AfeUrls('http://localhost/afe/')
50*9c5db199SXin Li        urls2 = afe_urls.AfeUrls('http://localhost/afe/')
51*9c5db199SXin Li        self.assertEqual(urls1, urls2)
52*9c5db199SXin Li
53*9c5db199SXin Li    def test_from_hostname(self):
54*9c5db199SXin Li        """Test from_hostname() happy path."""
55*9c5db199SXin Li        urls = afe_urls.AfeUrls.from_hostname('sharanohiar')
56*9c5db199SXin Li        self.assertEqual(urls.root_url, 'http://sharanohiar/afe/')
57*9c5db199SXin Li
58*9c5db199SXin Li
59*9c5db199SXin Liif __name__ == '__main__':
60*9c5db199SXin Li    unittest.main()
61