def testAddBgpPeerWithAdvertisements_default(self):
        self.SelectApi(self.track, self.api_version)

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

        new_peer = router_test_utils.CreateMinimalBgpPeerMessage(self.messages)
        mode = self.messages.RouterBgpPeer.AdvertiseModeValueValuesEnum.DEFAULT
        new_peer.advertiseMode = mode

        updated.bgpPeers.append(new_peer)

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

        self.Run("""
        compute routers add-bgp-peer my-router --region us-central1
        --peer-name my-peer
        --peer-asn 66000
        --interface my-if
        --advertisement-mode=DEFAULT
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Creating peer [my-peer] in router [my-router]')
    def testAddBgpPeerBasic_success(self):
        self.SelectApi(self.track, self.api_version)

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

        new_peer = router_test_utils.CreateMinimalBgpPeerMessage(self.messages)
        new_peer.interfaceName = 'my-if'
        new_peer.peerIpAddress = '10.0.0.2'
        new_peer.advertisedRoutePriority = 1

        updated.bgpPeers.append(new_peer)

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

        self.Run("""
        compute routers add-bgp-peer my-router --region us-central1
        --peer-name my-peer
        --peer-asn 66000
        --interface my-if
        --peer-ip-address 10.0.0.2
        --advertised-route-priority 1
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Creating peer [my-peer] in router [my-router]')
    def testAddBgpPeer_async(self):
        """Test command with --async flag."""

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

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

        updated.bgpPeers.append(
            router_test_utils.CreateMinimalBgpPeerMessage(self.messages))

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

        result = self.Run("""
        compute routers add-bgp-peer my-router --region us-central1
        --async
        --peer-name my-peer
        --peer-asn 66000
        --interface my-if
        """)
        self.assertIn('operation-X', result.name)
        self.AssertOutputEquals('')
        self.AssertErrEquals(
            'Update in progress for router [my-router] to add peer [my-peer] '
            '[https://compute.googleapis.com/compute/{0}/'
            '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))
    def testCreateWithAdvertisements_default(self):
        self.SelectApi(self.track, self.api_version)

        expected = router_test_utils.CreateMinimalRouterMessage(
            self.messages, self.api_version)
        mode = self.messages.RouterBgp.AdvertiseModeValueValuesEnum.DEFAULT
        expected.bgp.advertiseMode = mode

        result = copy.deepcopy(expected)
        result.region = 'us-central1'

        self.ExpectInsert(expected)
        self.ExpectOperationsPolling()
        self.ExpectGet(result)

        self.Run("""
        compute routers create my-router --network default --region us-central1
        --asn 65000
        --advertisement-mode=DEFAULT
        """)

        self.AssertOutputEquals("""\
        NAME       REGION       NETWORK
        my-router  us-central1  default
        """,
                                normalize_space=True)
        self.AssertErrContains('Creating router [my-router]')
    def testAddBgpPeerBfd_success(self):
        self.SelectApi(self.track, self.api_version)

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

        new_peer = router_test_utils.CreateMinimalBgpPeerMessage(self.messages)
        new_peer.interfaceName = 'my-if'
        new_peer.peerIpAddress = '10.0.0.2'
        new_peer.advertisedRoutePriority = 1
        new_peer.enable = self.messages.RouterBgpPeer.EnableValueValuesEnum.FALSE
        new_peer.bfd = self._GetRouterBgpPeerBfdMessage()
        updated.bgpPeers.append(new_peer)

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

        self.Run("""
        compute routers add-bgp-peer my-router --region us-central1
        --peer-name my-peer
        --peer-asn 66000
        --interface my-if
        --peer-ip-address 10.0.0.2
        --advertised-route-priority 1
        --no-enabled
        --bfd-session-initialization-mode ACTIVE
        --bfd-min-receive-interval 400
        --bfd-min-transmit-interval 500
        --bfd-multiplier 5
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Creating peer [my-peer] in router [my-router]')
    def testCreateBasic_success(self):
        self.SelectApi(self.track, self.api_version)

        expected = router_test_utils.CreateMinimalRouterMessage(
            self.messages, self.api_version)
        expected.description = 'my-desc'
        result = copy.deepcopy(expected)
        result.region = 'us-central1'

        self.ExpectInsert(expected)
        self.ExpectOperationsPolling()
        self.ExpectGet(result)

        self.Run("""
        compute routers create my-router --network default --region us-central1
        --asn 65000
        --description my-desc
        """)

        self.AssertOutputEquals("""\
        NAME       REGION       NETWORK
        my-router  us-central1  default
        """,
                                normalize_space=True)
        self.AssertErrContains('Creating router [my-router]')
Exemple #7
0
  def testUpdateKeepaliveInterval(self):
    self.SelectApi(self.track, self.api_version)

    orig = router_test_utils.CreateMinimalRouterMessage(self.messages,
                                                        self.api_version)
    orig.bgp.keepaliveInterval = 40
    updated = copy.deepcopy(orig)
    updated.bgp.keepaliveInterval = 50

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

    self.Run("""
        compute routers update my-router --region us-central1
        --keepalive-interval=50
        """)
    self.AssertOutputEquals('')
    self.AssertErrContains('Updating router [my-router]')
    def testCreateWithAdvertisements_custom(self):
        self.SelectApi(self.track, self.api_version)

        expected = router_test_utils.CreateMinimalRouterMessage(
            self.messages, self.api_version)
        mode = self.messages.RouterBgp.AdvertiseModeValueValuesEnum.CUSTOM
        groups = [(self.messages.RouterBgp.
                   AdvertisedGroupsValueListEntryValuesEnum.ALL_SUBNETS)]
        ranges = [
            self.messages.RouterAdvertisedIpRange(range='10.10.10.10/30',
                                                  description='custom-range'),
            self.messages.RouterAdvertisedIpRange(range='10.10.10.20/30',
                                                  description=''),
        ]
        expected.bgp.advertiseMode = mode
        expected.bgp.advertisedGroups = groups
        expected.bgp.advertisedIpRanges = ranges

        result = copy.deepcopy(expected)
        result.region = 'us-central1'

        self.ExpectInsert(expected)
        self.ExpectOperationsPolling()
        self.ExpectGet(result)

        self.Run("""
        compute routers create my-router --network default --region us-central1
        --asn 65000
        --advertisement-mode=CUSTOM
        --set-advertisement-groups=ALL_SUBNETS
        --set-advertisement-ranges=10.10.10.10/30=custom-range,10.10.10.20/30
        """)

        self.AssertOutputEquals("""\
        NAME       REGION       NETWORK
        my-router  us-central1  default
        """,
                                normalize_space=True)
        self.AssertErrContains('Creating router [my-router]')
    def testAddBgpPeerWithAdvertisements_custom(self):
        self.SelectApi(self.track, self.api_version)

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

        new_peer = router_test_utils.CreateMinimalBgpPeerMessage(self.messages)
        mode = self.messages.RouterBgpPeer.AdvertiseModeValueValuesEnum.CUSTOM
        groups = [(self.messages.RouterBgpPeer.
                   AdvertisedGroupsValueListEntryValuesEnum.ALL_SUBNETS)]
        ranges = [
            self.messages.RouterAdvertisedIpRange(range='10.10.10.10/30',
                                                  description='custom-range'),
            self.messages.RouterAdvertisedIpRange(range='10.10.10.20/30',
                                                  description='')
        ]
        new_peer.advertiseMode = mode
        new_peer.advertisedGroups = groups
        new_peer.advertisedIpRanges = ranges

        updated.bgpPeers.append(new_peer)

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

        self.Run("""
        compute routers add-bgp-peer my-router --region us-central1
        --peer-name my-peer
        --peer-asn 66000
        --interface my-if
        --advertisement-mode=CUSTOM
        --set-advertisement-groups=ALL_SUBNETS
        --set-advertisement-ranges=10.10.10.10/30=custom-range,10.10.10.20/30
        """)
        self.AssertOutputEquals('')
        self.AssertErrContains('Creating peer [my-peer] in router [my-router]')
    def testCreate_async(self):
        """Test command with --async flag."""

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

        expected = router_test_utils.CreateMinimalRouterMessage(
            self.messages, self.api_version)

        self.ExpectInsert(expected)

        result = self.Run("""
        compute routers create my-router --network default --region us-central1
        --async
        --asn 65000
        """)
        self.assertIn('operation-X', result.name)
        self.AssertOutputEquals('')
        self.AssertErrEquals(
            'Create in progress for router [my-router] '
            '[https://compute.googleapis.com/compute/{0}/'
            '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))