def testRemoveListOfBgpPeers(self):
        orig = router_test_utils.CreateBaseRouterMessage(self.messages)
        orig.bgpPeers.append(
            self.messages.RouterBgpPeer(name='my-peer-2',
                                        interfaceName='my-if-2',
                                        peerAsn=66000))
        expected = copy.deepcopy(orig)

        expected.bgpPeers.pop()
        expected.bgpPeers.pop()

        self.make_requests.side_effect = iter([[orig], []])

        self.Run("""
        compute routers remove-bgp-peer my-router
        --peer-names my-peer,my-peer-2 --region us-central1
        """)

        self.CheckRequests(
            [(self.compute.routers, 'Get',
              self.messages.ComputeRoutersGetRequest(router='my-router',
                                                     region='us-central1',
                                                     project='my-project'))],
            [(self.compute.routers, 'Patch',
              self.messages.ComputeRoutersPatchRequest(router='my-router',
                                                       routerResource=expected,
                                                       region='us-central1',
                                                       project='my-project'))],
        )
Ejemplo n.º 2
0
    def testUpdate_base(self):
        self.SelectApi(self.track, self.api_version)

        orig = router_test_utils.CreateBaseRouterMessage(self.messages)
        updated = copy.deepcopy(orig)

        updated.bgpPeers[0] = (self.messages.RouterBgpPeer(
            name='my-peer',
            interfaceName='new-if',
            peerAsn=65002,
            ipAddress='1.1.1.1',
            peerIpAddress='1.1.1.2',
            advertisedRoutePriority=1))

        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
        --peer-asn 65002
        --interface new-if
        --ip-address 1.1.1.1
        --peer-ip-address 1.1.1.2
        --advertised-route-priority 1
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Updating peer [my-peer] in router [my-router]')
Ejemplo n.º 3
0
    def testSimple(self):
        self.make_requests.side_effect = iter(
            [[router_test_utils.CreateBaseRouterMessage(self.messages)]])

        self.Run("""
        compute routers describe my-router --region us-central1
        """)
Ejemplo n.º 4
0
  def testRemoveListOfInterfaces(self):
    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    orig.interfaces.append(
        self.messages.RouterInterface(
            name='my-if-2', linkedVpnTunnel='', ipRange='10.0.1.1/24'))

    expected = copy.deepcopy(orig)
    expected.interfaces.pop()
    expected.interfaces.pop()

    self.make_requests.side_effect = iter([[orig], []])

    self.Run("""
        compute routers remove-interface my-router
        --interface-names my-if,my-if-2 --region us-central1
        """)

    self.CheckRequests(
        [(self.compute.routers,
          'Get',
          self.messages.ComputeRoutersGetRequest(
              router='my-router',
              region='us-central1',
              project='my-project'))],
        [(self.compute.routers,
          'Patch',
          self.messages.ComputeRoutersPatchRequest(
              router='my-router',
              routerResource=expected,
              region='us-central1',
              project='my-project'))],
    )
Ejemplo n.º 5
0
  def testSimple(self):
    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    expected = copy.deepcopy(orig)

    expected.interfaces.pop()

    self.make_requests.side_effect = iter([
        [orig],
        []
    ])

    self.Run("""
        compute routers remove-interface my-router --interface-name my-if
        --region us-central1
        """)

    self.CheckRequests(
        [(self.compute.routers, 'Get',
          self.messages.ComputeRoutersGetRequest(
              router='my-router', region='us-central1', project='my-project'))],
        [(self.compute.routers, 'Patch',
          self.messages.ComputeRoutersPatchRequest(
              router='my-router',
              routerResource=expected,
              region='us-central1',
              project='my-project'))],
    )
Ejemplo n.º 6
0
  def testInterfaceNotFoundError(self):
    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    expected = copy.deepcopy(orig)

    expected.interfaces.pop()

    self.make_requests.side_effect = iter([[orig], []])

    self.make_requests.side_effect = iter([[orig]])
    with self.assertRaises(exceptions.Error):
      self.Run("""
          compute routers remove-interface my-router --interface-name my-if-not
          --region us-central1
          """)
Ejemplo n.º 7
0
  def testUpdate_noop(self):
    """Sanity test to verify no changes when no flags are specified."""

    self.SelectApi(self.track, self.api_version)

    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    updated = copy.deepcopy(orig)

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

    self.Run("""
        compute routers update my-router --region us-central1
        """)
    self.AssertOutputEquals('')
    self.AssertErrContains('Updating router [my-router]')
Ejemplo n.º 8
0
  def testUpdateAdvertisements_default(self):
    self.SelectApi(self.track, self.api_version)

    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    updated = copy.deepcopy(orig)

    mode = self.messages.RouterBgp.AdvertiseModeValueValuesEnum.DEFAULT
    updated.bgp.advertiseMode = mode

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

    self.Run("""
        compute routers update my-router --region us-central1
        --advertisement-mode=DEFAULT
        """)
    self.AssertOutputEquals('')
    self.AssertErrContains('Updating router [my-router]')
Ejemplo n.º 9
0
  def testSpecifyBothInterfaceNameAndInterfaceNameList(self):
    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    orig.interfaces.append(
        self.messages.RouterInterface(
            name='my-if-2', linkedVpnTunnel='', ipRange='10.0.1.1/24'))

    expected = copy.deepcopy(orig)
    expected.interfaces.pop()
    expected.interfaces.pop()

    self.make_requests.side_effect = iter([[orig], []])

    with self.AssertRaisesArgumentErrorMatches(
        'argument --interface-name: Exactly one of (--interface-name | '
        '--interface-names) must be specified.'):
      self.Run("""
        compute routers remove-interface my-router
        --interface-names my-if,my-if-2 --interface-name my-if
        --region us-central1
        """)
    def testUsingBothPeerNameAndPeerNameListError(self):
        orig = router_test_utils.CreateBaseRouterMessage(self.messages)
        orig.bgpPeers.append(
            self.messages.RouterBgpPeer(name='my-peer-2',
                                        interfaceName='my-if-2',
                                        peerAsn=66000))
        expected = copy.deepcopy(orig)

        expected.bgpPeers.pop()
        expected.bgpPeers.pop()

        self.make_requests.side_effect = iter([[orig], []])

        with self.AssertRaisesArgumentErrorMatches(
                'argument --peer-name: Exactly one of (--peer-name | '
                '--peer-names) must be specified.'):
            self.Run("""
          compute routers remove-bgp-peer my-router
          --peer-names my-peer,my-peer-2 --region us-central1
          --peer-name my-peer
          """)
Ejemplo n.º 11
0
  def testUpdate_async(self):
    """Test command with --async flag."""

    self.SelectApi(self.track, self.api_version)

    orig = router_test_utils.CreateBaseRouterMessage(self.messages)
    updated = copy.deepcopy(orig)

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

    result = self.Run("""
        compute routers update my-router --region us-central1 --async
        """)
    self.assertIn('operation-X', result.name)
    self.AssertOutputEquals('')
    self.AssertErrEquals(
        'Update in progress for router [my-router] '
        '[https://compute.googleapis.com/compute/{}/'
        'projects/fake-project/regions/us-central1/operations/operation-X] '
        'Run the [gcloud compute operations describe] command to check the '
        'status of this operation.\n'.format(self.api_version))