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