public async stt::Task GetFeatureResourceNamesAsync() { moq::Mock <GkeHub.GkeHubClient> mockGrpcClient = new moq::Mock <GkeHub.GkeHubClient>(moq::MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object); GetFeatureRequest request = new GetFeatureRequest { FeatureName = FeatureName.FromProjectLocationFeature("[PROJECT]", "[LOCATION]", "[FEATURE]"), }; Feature expectedResponse = new Feature { FeatureName = FeatureName.FromProjectLocationFeature("[PROJECT]", "[LOCATION]", "[FEATURE]"), Labels = { { "key8a0b6e3c", "value60c16320" }, }, ResourceState = new FeatureResourceState(), Spec = new CommonFeatureSpec(), MembershipSpecs = { { "key8a0b6e3c", new MembershipFeatureSpec() }, }, State = new CommonFeatureState(), MembershipStates = { { "key8a0b6e3c", new MembershipFeatureState() }, }, CreateTime = new wkt::Timestamp(), UpdateTime = new wkt::Timestamp(), DeleteTime = new wkt::Timestamp(), }; mockGrpcClient.Setup(x => x.GetFeatureAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Feature>(stt::Task.FromResult(expectedResponse), null, null, null, null)); GkeHubClient client = new GkeHubClientImpl(mockGrpcClient.Object, null); Feature responseCallSettings = await client.GetFeatureAsync(request.FeatureName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None)); xunit::Assert.Same(expectedResponse, responseCallSettings); Feature responseCancellationToken = await client.GetFeatureAsync(request.FeatureName, st::CancellationToken.None); xunit::Assert.Same(expectedResponse, responseCancellationToken); mockGrpcClient.VerifyAll(); }
public void GetFeatureResourceNames() { moq::Mock <GkeHub.GkeHubClient> mockGrpcClient = new moq::Mock <GkeHub.GkeHubClient>(moq::MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object); GetFeatureRequest request = new GetFeatureRequest { FeatureName = FeatureName.FromProjectLocationFeature("[PROJECT]", "[LOCATION]", "[FEATURE]"), }; Feature expectedResponse = new Feature { FeatureName = FeatureName.FromProjectLocationFeature("[PROJECT]", "[LOCATION]", "[FEATURE]"), Labels = { { "key8a0b6e3c", "value60c16320" }, }, ResourceState = new FeatureResourceState(), Spec = new CommonFeatureSpec(), MembershipSpecs = { { "key8a0b6e3c", new MembershipFeatureSpec() }, }, State = new CommonFeatureState(), MembershipStates = { { "key8a0b6e3c", new MembershipFeatureState() }, }, CreateTime = new wkt::Timestamp(), UpdateTime = new wkt::Timestamp(), DeleteTime = new wkt::Timestamp(), }; mockGrpcClient.Setup(x => x.GetFeature(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse); GkeHubClient client = new GkeHubClientImpl(mockGrpcClient.Object, null); Feature response = client.GetFeature(request.FeatureName); xunit::Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
async protected override Task <IFeatureCursor> FeatureCursor(IQueryFilter filter) { string response = ""; string srsName = _sRef != null ? _sRef.Name : String.Empty; if (filter is ISpatialFilter) { filter = SpatialFilter.Project(filter as ISpatialFilter, this.SpatialReference); ((ISpatialFilter)filter).FilterSpatialReference = this.SpatialReference; } if (_dataset._getCapabilities.Post_OnlineResource == String.Empty && _dataset._getCapabilities.Get_OnlineResource != String.Empty) { string param = "VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=" + this.Name + "&MAXFEATURES=10&FILTER="; if (_dataset._getCapabilities.Get_OnlineResource.IndexOf("&SERVICE=") == -1 && _dataset._getCapabilities.Get_OnlineResource.IndexOf("?SERVICE=") == -1) { param = "SERVICE=WFS&" + param; } string wfsFilter = await Filter.ToWFS(this, filter, _dataset._filter_capabilites, _dataset._gmlVersion); string url = _dataset._getFeature.Get_OnlineResource; response = WebFunctions.HttpSendRequest(url, "GET", null); } else if (_dataset._getCapabilities.Post_OnlineResource != String.Empty) { string url = _dataset._getFeature.Post_OnlineResource; if (_dataset._getCapabilities.Get_OnlineResource.IndexOf("&SERVICE=") == -1 && _dataset._getCapabilities.Get_OnlineResource.IndexOf("?SERVICE=") == -1) { url = WMSDataset.Append2Url(url, "SERVICE=WFS"); } string wfsFilter = GetFeatureRequest.Create(this, this.Name, filter, srsName, _dataset._filter_capabilites, _dataset._gmlVersion); response = WebFunctions.HttpSendRequest(url, "POST", Encoding.UTF8.GetBytes(wfsFilter)); } if (response == String.Empty) { return(null); } try { StringReader stringReader = new StringReader(response); XmlTextReader xmlReader = new XmlTextReader(stringReader); XmlDocument doc = new XmlDocument(); //doc.LoadXml(response); XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("GML", "http://www.opengis.net/gml"); ns.AddNamespace("WFS", "http://www.opengis.net/wfs"); ns.AddNamespace("OGC", "http://www.opengis.net/ogc"); ns.AddNamespace("myns", _targetNamespace); //XmlNode featureCollection = doc.SelectSingleNode("WFS:FeatureCollection", ns); //if (featureCollection == null) // featureCollection = doc.SelectSingleNode("GML:FeatureCollection", ns); //if (featureCollection == null) return null; return(new gView.Framework.OGC.GML.FeatureCursor2(this, xmlReader, ns, filter, _dataset._gmlVersion, _dataset._filter_capabilites)); } catch { } return(null); }