def testSnapshotUrlPropertySetNonlocalMultipleUrls(self): properties.VALUES.component_manager.snapshot_url.Set( 'https://repo1.repo,https://repo2.repo') self.assertEqual( self._BASE_DEFAULT_URLS + ['https://repo1.repo', 'https://repo2.repo'], network_diagnostics.DefaultUrls())
class NetworkDiagnosticTests(diagnostics_test_base.DiagnosticTestBase): _FAIL_RESULT = CheckFailResult(network_diagnostics.DefaultUrls()) def SetUp(self): self.run_check_mock = self.StartObjectPatch( network_diagnostics.ReachabilityChecker, 'Check') self.fixer_mock = self.StartObjectPatch(http_proxy_setup, 'ChangeGcloudProxySettings') def testNoNetworkIssues(self): self.run_check_mock.return_value = check_base.Result(passed=True), None self.assertTrue(network_diagnostics.NetworkDiagnostic().RunChecks()) self.assertEqual(1, self.run_check_mock.call_count) self.assertFalse(self.fixer_mock.called) self.AssertErrContains( 'Network diagnostic passed (1/1 checks passed).') def testNetworkIssuesNoProxyChangesMade(self): self.run_check_mock.return_value = self._FAIL_RESULT, self.fixer_mock self.fixer_mock.return_value = False self.assertFalse(network_diagnostics.NetworkDiagnostic().RunChecks()) self.assertEqual(1, self.run_check_mock.call_count) self.assertEqual(1, self.fixer_mock.call_count) self.AssertErrContains( 'ERROR: Network diagnostic failed (0/1 checks passed).') def testNetworkIssuesProxyChangesMadeStillIssuesExit(self): self.run_check_mock.return_value = self._FAIL_RESULT, self.fixer_mock self.fixer_mock.side_effect = [True, False] self.assertFalse(network_diagnostics.NetworkDiagnostic().RunChecks()) self.assertEqual(2, self.run_check_mock.call_count) self.assertEqual(2, self.fixer_mock.call_count) self.AssertErrContains( 'ERROR: Network diagnostic failed (0/1 checks passed).') def testNetworkIssuesProxyChangesMadeIssuesFixed(self): self.run_check_mock.side_effect = [ (self._FAIL_RESULT, self.fixer_mock), (check_base.Result(passed=True), None)] self.fixer_mock.return_value = True self.assertTrue(network_diagnostics.NetworkDiagnostic().RunChecks()) self.assertEqual(2, self.run_check_mock.call_count) self.assertEqual(1, self.fixer_mock.call_count) self.AssertErrContains( 'Network diagnostic passed (1/1 checks passed).') def testNetworkIssuesMaxFixRetriesMet(self): self.run_check_mock.return_value = (self._FAIL_RESULT, self.fixer_mock) self.fixer_mock.return_value = True self.assertFalse(network_diagnostics.NetworkDiagnostic().RunChecks()) max_retries = network_diagnostics.NetworkDiagnostic._MAX_RETRIES self.assertEqual(max_retries + 1, self.run_check_mock.call_count) self.assertEqual(max_retries, self.fixer_mock.call_count) self.AssertErrContains('Unable to fix Network diagnostic failure after 5 ' 'attempts.') self.AssertErrContains( 'ERROR: Network diagnostic failed (0/1 checks passed).')
def testSnapshotUrlPropertySetLocalFileMultipleFiles(self): properties.VALUES.component_manager.snapshot_url.Set( 'file://repo1,file://repo2') self.assertEqual(self._BASE_DEFAULT_URLS, network_diagnostics.DefaultUrls())
def testNoSnapshotUrls(self): self.assertEqual(self._BASE_DEFAULT_URLS, network_diagnostics.DefaultUrls())