普通文本  |  60行  |  1.79 KB

#!/usr/bin/python
# Copyright 2016 The Chromium OS 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 urlparse
import unittest

import common
from autotest_lib.server import afe_urls


class AfeUrlsTestCase(unittest.TestCase):

    """Tests for AfeUrls."""

    def assertURLEqual(self, a, b):
        """Assert two URLs are equal.

        @param a First URL to compare
        @param b First URL to compare

        """
        urlsplit = urlparse.urlsplit
        self.assertEqual(urlsplit(a), urlsplit(b))

    def test__geturl(self):
        """Test _geturl() happy path."""
        urls = afe_urls.AfeUrls('http://localhost/afe/')
        got = urls._geturl({'foo': 'bar', 'spam': 'eggs'})
        self.assertURLEqual(got, 'http://localhost/afe/#foo=bar&spam=eggs')

    def test_get_host_url(self):
        """Test get_host_url() happy path."""
        urls = afe_urls.AfeUrls('http://localhost/afe/')
        got = urls.get_host_url(42)
        self.assertURLEqual(
            got,
            'http://localhost/afe/#tab_id=view_host&object_id=42')

    def test_root_url(self):
        """Test happy path for root_url attribute."""
        urls = afe_urls.AfeUrls('http://localhost/afe/')
        self.assertEqual(urls.root_url, 'http://localhost/afe/')

    def test_equal(self):
        """Test happy path for equality."""
        urls1 = afe_urls.AfeUrls('http://localhost/afe/')
        urls2 = afe_urls.AfeUrls('http://localhost/afe/')
        self.assertEqual(urls1, urls2)

    def test_from_hostname(self):
        """Test from_hostname() happy path."""
        urls = afe_urls.AfeUrls.from_hostname('sharanohiar')
        self.assertEqual(urls.root_url, 'http://sharanohiar/afe/')


if __name__ == '__main__':
    unittest.main()