public VirtualNetworkGatewayContext GetGateway(string vnetName)
        {
            if (string.IsNullOrWhiteSpace(vnetName))
            {
                throw new ArgumentException("vnetName cannot be null or whitespace.", "vnetName");
            }

            GatewayGetResponse response = client.Gateways.Get(vnetName);

            VirtualNetworkGatewayContext gatewayContext = new VirtualNetworkGatewayContext()
            {
                LastEventData      = (response.LastEvent != null) ? response.LastEvent.Data : null,
                LastEventMessage   = (response.LastEvent != null) ? response.LastEvent.Message : null,
                LastEventID        = GetEventId(response.LastEvent),
                LastEventTimeStamp = (response.LastEvent != null) ? (DateTime?)response.LastEvent.Timestamp : null,
                State       = (ProvisioningState)Enum.Parse(typeof(ProvisioningState), response.State, true),
                VIPAddress  = response.VipAddress,
                DefaultSite = (response.DefaultSite != null ? response.DefaultSite.Name : null),
                GatewaySKU  = response.GatewaySKU,
            };

            PopulateOperationContext(response.RequestId, gatewayContext);

            return(gatewayContext);
        }
Ejemplo n.º 2
0
        public void EnsureNoGatewayExists()
        {
            string configuration = testClient.GetNetworkConfigurationSafe();

            if (testClient.IsEmptyConfiguration(configuration) == false)
            {
                bool gatewayDoesntExist = false;
                while (gatewayDoesntExist == false)
                {
                    GatewayGetResponse getGatewayResponse = GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                    switch (getGatewayResponse.State)
                    {
                    case GatewayProvisioningEventStates.NotProvisioned:
                        gatewayDoesntExist = true;
                        break;

                    case GatewayProvisioningEventStates.Provisioning:
                    case GatewayProvisioningEventStates.Deprovisioning:
                        Thread.Sleep(TimeSpan.FromSeconds(10));
                        break;

                    case GatewayProvisioningEventStates.Provisioned:
                        DeleteGateway(NetworkTestConstants.VirtualNetworkSiteName);
                        break;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public ResizeGateway(IGatewayOperations gatewayClient, string virtualNetworkSiteName, ResizeGatewayParameters parameters)
        {
            this.gatewayClient          = gatewayClient;
            this.virtualNetworkSiteName = virtualNetworkSiteName;
            this.parameters             = parameters;

            if (string.IsNullOrWhiteSpace(virtualNetworkSiteName) == false)
            {
                oldGetResponse = gatewayClient.Get(virtualNetworkSiteName);
            }
        }
Ejemplo n.º 4
0
        public void Initialize()
        {
            HttpWebRequest     gatewayUriRequest = WebRequest.CreateHttp("https://discordapp.com/api/gateway");
            WebResponse        response          = gatewayUriRequest.GetResponse();
            string             jsonString        = new StreamReader(response.GetResponseStream()).ReadToEnd();
            GatewayGetResponse getResponse       = json.Deserialize <GatewayGetResponse>(jsonString);

            webService = new WebSocketService(getResponse.Url + "?v=6&encoding=json");
            webService.OnMessageReceive += WebService_OnMessageReceive;
            webService.OnStatusUpdate   += WebService_OnStatusUpdate;
            new Thread(webService.RunService).Start();
        }
Ejemplo n.º 5
0
        public void GetGatewayWhenGatewayIsNotProvisioned()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.EnsureSiteToSiteNetworkConfigurationExists();
                networkTestClient.Gateways.EnsureNoGatewayExists();

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal("NotProvisioned", response.State);
                Assert.Null(response.VipAddress);
            }
        }
        public void ResetStaticRoutingGateway()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.Gateways.EnsureStaticRoutingGatewayExists();

                networkTestClient.Gateways.ResetGateway(NetworkTestConstants.VirtualNetworkSiteName, new ResetGatewayParameters());

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal(GatewayProvisioningEventStates.Provisioned, response.State);
            }
        }
Ejemplo n.º 7
0
        public void GetGatewayWhenDynamicRoutingGatewayExists()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.Gateways.EnsureDynamicRoutingGatewayExists();

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal(GatewayType.DynamicRouting, response.GatewayType);
                Assert.Equal("Provisioned", response.State);
                Assert.NotNull(response.VipAddress);
                Assert.NotEqual(0, response.VipAddress.Length);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Deserializes the given json into an Hydra OM Gateway instance, by mocking a get request to
        /// exercise the client's deserialization logic.
        /// </summary>
        /// <param name="json">The JSON string to deserialize.</param>
        /// <returns></returns>
        internal static Gateway DeserializeGatewayJson(string json)
        {
            var handler = new MockResourceProviderDelegatingHandler()
            {
                Json = json
            };

            var                client            = GetFakeClient(handler);
            string             resourceGroupName = Guid.NewGuid().ToString("D");
            string             dataFactoryName   = Guid.NewGuid().ToString("D");
            string             gatewayName       = Guid.NewGuid().ToString("D");
            GatewayGetResponse getResponse       = client.Gateways.Get(resourceGroupName, dataFactoryName, gatewayName);

            return(getResponse.Gateway);
        }
        public void CreateDynamicGateway()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.EnsurePointToSiteNetworkConfigurationExists();

                networkTestClient.Gateways.CreateGateway(
                    NetworkTestConstants.VirtualNetworkSiteName,
                    NetworkTestConstants.CreateDynamicRoutingGatewayParameters());

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway("virtualNetworkSiteName");
                Assert.NotNull(response);
                Assert.Equal(GatewayType.DynamicRouting, response.GatewayType);
            }
        }
Ejemplo n.º 10
0
        public RemoveDefaultSites(IGatewayOperations gatewayClient, string virtualNetworkSiteName)
        {
            this.gatewayClient          = gatewayClient;
            this.virtualNetworkSiteName = virtualNetworkSiteName;

            GatewayGetResponse getGatewayResponse = gatewayClient.Get(virtualNetworkSiteName);

            if (getGatewayResponse.DefaultSite == null || string.IsNullOrEmpty(getGatewayResponse.DefaultSite.Name))
            {
                oldDefaultSite = "";
            }
            else
            {
                oldDefaultSite = getGatewayResponse.DefaultSite.Name;
            }
        }
        public SetDefaultSites(IGatewayOperations gatewayClient, string virtualNetworkSiteName, GatewaySetDefaultSiteListParameters parameters)
        {
            this.gatewayClient          = gatewayClient;
            this.virtualNetworkSiteName = virtualNetworkSiteName;
            this.parameters             = parameters;

            GatewayGetResponse getGatewayResponse = gatewayClient.Get(virtualNetworkSiteName);

            if (getGatewayResponse.DefaultSite == null || string.IsNullOrEmpty(getGatewayResponse.DefaultSite.Name))
            {
                oldDefaultSite = "";
            }
            else
            {
                oldDefaultSite = getGatewayResponse.DefaultSite.Name;
            }
        }
Ejemplo n.º 12
0
        public void GetGatewayWhenDynamicRoutingGatewayHasDefaultSites()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.Gateways.EnsureDynamicRoutingGatewayExists();
                networkTestClient.Gateways.SetDefaultSites(NetworkTestConstants.VirtualNetworkSiteName,
                                                           new GatewaySetDefaultSiteListParameters()
                {
                    DefaultSite = NetworkTestConstants.LocalNetworkSiteName
                });

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal(GatewayType.DynamicRouting, response.GatewayType);
                Assert.Equal("Provisioned", response.State);
                Assert.NotNull(response.VipAddress);
                Assert.NotEqual(0, response.VipAddress.Length);
                Assert.Equal(NetworkTestConstants.LocalNetworkSiteName, response.DefaultSite.Name);
            }
        }
        public void SetDefaultSitesWithDynamicRoutingGateway()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.Gateways.EnsureDynamicRoutingGatewayExists();

                const string virtualNetworkSiteName            = NetworkTestConstants.VirtualNetworkSiteName;
                GatewaySetDefaultSiteListParameters parameters = CreateParameters(NetworkTestConstants.LocalNetworkSiteName);

                GatewayGetOperationStatusResponse response = networkTestClient.Gateways.SetDefaultSites(virtualNetworkSiteName, parameters);
                Assert.NotNull(response);
                Assert.Equal(HttpStatusCode.OK, response.HttpStatusCode);
                Assert.NotNull(response.Id);
                Assert.Equal(GatewayOperationStatus.Successful, response.Status);

                GatewayGetResponse getResponse = networkTestClient.Gateways.GetGateway(virtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal(NetworkTestConstants.LocalNetworkSiteName, getResponse.DefaultSite.Name);
            }
        }
        public void CreateStaticRoutingGateway()
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.EnsureSiteToSiteNetworkConfigurationExists();

                GatewayGetOperationStatusResponse response =
                    networkTestClient.Gateways.CreateGateway(
                        NetworkTestConstants.VirtualNetworkSiteName,
                        NetworkTestConstants.CreateStaticRoutingGatewayParameters());
                Assert.NotNull(response);
                Assert.Equal(HttpStatusCode.OK, response.HttpStatusCode);

                GatewayGetResponse getGatewayResponse = networkTestClient.Gateways.GetGateway("virtualNetworkSiteName");
                Assert.NotNull(getGatewayResponse);
                Assert.Equal(GatewayType.StaticRouting, getGatewayResponse.GatewayType);
                Assert.Equal("Provisioned", getGatewayResponse.State);
                Assert.NotNull(getGatewayResponse.VipAddress);
                Assert.NotEmpty(getGatewayResponse.VipAddress);
            }
        }
        private void ResizeGateway(string startSKU, string targetSKU)
        {
            using (NetworkTestClient networkTestClient = new NetworkTestClient())
            {
                networkTestClient.Gateways.EnsureDynamicRoutingGatewayExists(startSKU);

                ResizeGatewayParameters parameters = new ResizeGatewayParameters()
                {
                    GatewaySKU = targetSKU,
                };

                GatewayGetOperationStatusResponse resizeResponse = networkTestClient.Gateways.ResizeGateway(NetworkTestConstants.VirtualNetworkSiteName, parameters);
                Assert.NotNull(resizeResponse);
                Assert.Equal(HttpStatusCode.OK, resizeResponse.HttpStatusCode);

                GatewayGetResponse response = networkTestClient.Gateways.GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                Assert.NotNull(response);
                Assert.Equal(GatewayProvisioningEventStates.Provisioned, response.State);
                Assert.Equal(targetSKU, response.GatewaySKU);
            }
        }
Ejemplo n.º 16
0
        private void EnsureGatewayExists(GatewayCreateParameters createGatewayParameters)
        {
            bool gatewayExists = false;

            while (gatewayExists == false)
            {
                GatewayGetResponse getGatewayResponse = GetGateway(NetworkTestConstants.VirtualNetworkSiteName);
                switch (getGatewayResponse.State)
                {
                case GatewayProvisioningEventStates.NotProvisioned:
                    CreateGateway(NetworkTestConstants.VirtualNetworkSiteName, createGatewayParameters);
                    break;

                case GatewayProvisioningEventStates.Provisioning:
                case GatewayProvisioningEventStates.Deprovisioning:
                    Thread.Sleep(TimeSpan.FromSeconds(10));
                    break;

                case GatewayProvisioningEventStates.Provisioned:
                    gatewayExists = true;
                    break;
                }
            }
        }