Beispiel #1
0
    def testSwitchAdvertiseMode_yes(self):
        self.SelectApi(self.track, self.api_version)

        self.WriteInput('y\n')
        orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)
        updated = copy.deepcopy(orig)

        mode = (
            self.messages.RouterBgpPeer.AdvertiseModeValueValuesEnum.DEFAULT)
        updated.bgpPeers[0].advertiseMode = mode
        updated.bgpPeers[0].advertisedGroups = []
        updated.bgpPeers[0].advertisedIpRanges = []

        self.ExpectGet(orig)
        self.ExpectPatch(updated)
        self.ExpectOperationsPolling()
        self.ExpectGet(updated)

        self.Run("""
        compute routers update-bgp-peer my-router --region us-central1
        --peer-name my-peer
        --advertisement-mode=DEFAULT
        """)
        prompt_msg = ('WARNING: switching from custom advertisement mode to '
                      'default will clear out any existing advertised '
                      'groups/ranges from this peer.')
        self.AssertErrContains(prompt_msg)
Beispiel #2
0
  def testSwitchAdvertiseMode_no(self):
    self.SelectApi(self.track, self.api_version)

    self.WriteInput('n\n')
    orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)
    self.ExpectGet(orig)

    cancel_msg = 'Aborted by user.'
    with self.AssertRaisesExceptionMatches(console_io.OperationCancelledError,
                                           cancel_msg):
      self.Run("""
          compute routers update my-router --region us-central1
          --advertisement-mode=DEFAULT
          """)
  def testRemoveAdvertisementPeer_peerNotFoundError(self):

    orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)

    self.ExpectGet(orig)

    error_msg = ('peer `nonexistent-peer` not found')
    with self.AssertRaisesExceptionMatches(router_utils.PeerNotFoundError,
                                           error_msg):
      self.Run("""
          compute routers update-bgp-peer my-router --region us-central1
          --peer-name=nonexistent-peer
          --remove-advertisement-groups=ALL_SUBNETS
          """)
Beispiel #4
0
    def testRemoveAdvertisementRanges_ipRangeNotFoundError(self):

        # Start with a router in custom mode.
        orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)

        self.ExpectGet(orig)

        error_msg = 'Advertised IP range 192.168.0.0/30 not found on this router.'
        with self.AssertRaisesExceptionMatches(
                router_utils.IpRangeNotFoundError, error_msg):
            self.Run("""
          compute routers update my-router --region us-central1
          --remove-advertisement-ranges=192.168.0.0/30
          """)
Beispiel #5
0
    def testRemoveAdvertisementGroups_success(self):

        # Start with a router in custom mode.
        orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)
        updated = copy.deepcopy(orig)

        updated.bgp.advertisedGroups = []

        self.ExpectGet(orig)
        self.ExpectPatch(updated)
        self.ExpectOperationsPolling()
        self.ExpectGet(updated)

        self.Run("""
        compute routers update my-router --region us-central1
        --remove-advertisement-groups=ALL_SUBNETS
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Updating router [my-router]')
Beispiel #6
0
    def testRemoveAdvertisementRanges_multiSuccess(self):

        # Start with a router in custom mode.
        orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)
        updated = copy.deepcopy(orig)

        ranges = []
        updated.bgp.advertisedIpRanges = ranges

        self.ExpectGet(orig)
        self.ExpectPatch(updated)
        self.ExpectOperationsPolling()
        self.ExpectGet(updated)

        self.Run("""
        compute routers update my-router --region us-central1
        --remove-advertisement-ranges=10.10.10.10/30,10.10.10.20/30
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Updating router [my-router]')
  def testRemoveAdvertisementPeerRanges_success(self):

    # Start with a router in custom mode.
    orig = router_test_utils.CreateFullCustomRouterMessage(self.messages)
    updated = copy.deepcopy(orig)

    ranges = [
        self.messages.RouterAdvertisedIpRange(
            range='10.10.10.20/30', description='my-desc'),
    ]
    updated.bgpPeers[0].advertisedIpRanges = ranges

    self.ExpectGet(orig)
    self.ExpectPatch(updated)
    self.ExpectOperationsPolling()
    self.ExpectGet(updated)

    self.Run("""
        compute routers update-bgp-peer my-router --region us-central1
        --peer-name=my-peer
        --remove-advertisement-ranges=10.10.10.10/30
        """)
    self.AssertOutputEquals('')
    self.AssertErrContains('Updating peer [my-peer] in router [my-router]')