public void GET_and_COUNT() { #region Verify GET /RNs var URI = HTTPPath.Parse("/RNs"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray().ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify COUNT /RNs using (var HTTPTask = _HTTPClient.Execute(client => client.COUNT(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JObject(new JProperty("count", 0)).ToString(), JObject.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'COUNT " + URI + "'!"); } } #endregion var RN_1 = OpenChargingCloudAPI.CreateNewRoamingNetwork(Id: RoamingNetwork_Id.Parse("TEST_RN1"), Name: I18NString.Create(Languages.deu, "Test Roaming Netz 1"). Add(Languages.eng, "Test roaming network 1")); var RN_2 = OpenChargingCloudAPI.CreateNewRoamingNetwork(Id: RoamingNetwork_Id.Parse("TEST_RN2"), Name: I18NString.Create(Languages.deu, "Test Roaming Netz 2"). Add(Languages.eng, "Test roaming network 2")); var RN_3 = OpenChargingCloudAPI.CreateNewRoamingNetwork(Id: RoamingNetwork_Id.Parse("TEST_RN3"), Name: I18NString.Create(Languages.deu, "Test Roaming Netz 3"). Add(Languages.eng, "Test roaming network 3")); var RN_4 = OpenChargingCloudAPI.CreateNewRoamingNetwork(Id: RoamingNetwork_Id.Parse("TEST_RN4"), Name: I18NString.Create(Languages.deu, "Test Roaming Netz 4"). Add(Languages.eng, "Test roaming network 4")); #region Verify GET /RNs URI = HTTPPath.Parse("/RNs"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray( new JObject(new JProperty("RoamingNetworkId", "TEST_RN1"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 1"), new JProperty("en", "Test roaming network 1")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN2"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 2"), new JProperty("en", "Test roaming network 2")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN3"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 3"), new JProperty("en", "Test roaming network 3")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN4"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 4"), new JProperty("en", "Test roaming network 4")))) ).ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify COUNT /RNs using (var HTTPTask = _HTTPClient.Execute(client => client.COUNT(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JObject(new JProperty("count", 4)).ToString(), JObject.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'COUNT " + URI + "'!"); } } #endregion #region Verify GET /RNs?skip=2 URI = HTTPPath.Parse("/RNs?skip=2"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray( new JObject(new JProperty("RoamingNetworkId", "TEST_RN3"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 3"), new JProperty("en", "Test roaming network 3")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN4"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 4"), new JProperty("en", "Test roaming network 4")))) ).ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify GET /RNs?take=2 URI = HTTPPath.Parse("/RNs?take=2"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray( new JObject(new JProperty("RoamingNetworkId", "TEST_RN1"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 1"), new JProperty("en", "Test roaming network 1")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN2"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 2"), new JProperty("en", "Test roaming network 2")))) ).ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify GET /RNs?skip=1&take=2 URI = HTTPPath.Parse("/RNs?skip=1&take=2"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray( new JObject(new JProperty("RoamingNetworkId", "TEST_RN2"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 2"), new JProperty("en", "Test roaming network 2")))), new JObject(new JProperty("RoamingNetworkId", "TEST_RN3"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 3"), new JProperty("en", "Test roaming network 3")))) ).ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify GET /RNs?skip=8 URI = HTTPPath.Parse("/RNs?skip=8"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JArray().ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify GET /RNs/TEST_RN1 URI = HTTPPath.Parse("/RNs/TEST_RN1"); using (var HTTPTask = _HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed! " + HTTPResult.HTTPBody.ToUTF8String()); Assert.AreEqual(new JObject(new JProperty("RoamingNetworkId", "TEST_RN1"), new JProperty("description", new JObject(new JProperty("de", "Test Roaming Netz 1"), new JProperty("en", "Test roaming network 1"))) ).ToString(), JObject.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion }
public void Test_ChargingPools() { var HTTPClient = new HTTPClient(IPv4Address.Localhost, RemotePort: IPPort.Parse(8000), DNSClient: HTTPAPI.DNSClient); var RN = OpenChargingCloudAPI.CreateNewRoamingNetwork(Id: RoamingNetwork_Id.Parse("TEST_RN1"), Name: I18NString.Create(Languages.deu, "Test Roaming Netz 1"). Add(Languages.eng, "Test roaming network 1")); var CPO = RN.CreateChargingStationOperator(ChargingStationOperatorId: ChargingStationOperator_Id.Parse("DE*GEF"), Name: I18NString.Create(Languages.deu, "GraphDefined"), Description: I18NString.Create(Languages.deu, "GraphDefined EVSE Operator"), Configurator: evseoperator => { evseoperator.AddDataLicense(DataLicense.OpenDatabaseLicense); }); #region Verify GET /RNs/TEST_RN1/ChargingPools var URI = HTTPPath.Parse("/RNs/TEST_RN1/ChargingPools"); using (var HTTPTask = HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed!"); Assert.AreEqual(new JArray().ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify COUNT /RNs/TEST_RN1/ChargingPools using (var HTTPTask = HTTPClient.Execute(client => client.COUNT(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed!"); Assert.AreEqual(new JObject(new JProperty("count", 0)).ToString(), JObject.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'COUNT " + URI + "'!"); } } #endregion var Pool_1 = CPO.CreateChargingPool(ChargingPool_Id.Parse(CPO.Id, "1111"), pool => { pool.Address = Address.Create(Country.Austria, "07741", I18NString.Create(Languages.deu, "Wien"), "Hofplatz", "17"); }); var Pool_2 = CPO.CreateChargingPool(ChargingPool_Id.Parse(CPO.Id, "2222"), pool => { pool.Address = Address.Create(Country.Germany, "07749", I18NString.Create(Languages.deu, "Jena"), "Biberweg", "18"); }); var Pool_3 = CPO.CreateChargingPool(ChargingPool_Id.Parse(CPO.Id, "3333"), pool => { pool.Address = Address.Create(Country.Belgium, "07758", I18NString.Create(Languages.bgn, "Brussels"), "Avenue", "19"); }); #region Verify GET /RNs/TEST_RN1/ChargingPools URI = HTTPPath.Parse("/RNs/TEST_RN1/ChargingPools"); using (var HTTPTask = HTTPClient.Execute(client => client.GET(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed!"); Assert.AreEqual(new JArray( new JObject(new JProperty("ChargingPoolId", "DE*GEF*P1111"), new JProperty("OperatorId", "DE*GEF"), new JProperty("Address", new JObject(new JProperty("houseNumber", "17"), new JProperty("street", "Hofplatz"), new JProperty("postalCode", "07741"), new JProperty("city", new JObject(new JProperty("de", "Wien")) ), new JProperty("country", new JObject(new JProperty("en", "Austria")) ) )), new JProperty("ChargingStations", new JArray()) ), new JObject(new JProperty("ChargingPoolId", "DE*GEF*P2222"), new JProperty("OperatorId", "DE*GEF"), new JProperty("Address", new JObject(new JProperty("houseNumber", "18"), new JProperty("street", "Biberweg"), new JProperty("postalCode", "07749"), new JProperty("city", new JObject(new JProperty("de", "Jena") )), new JProperty("country", new JObject( new JProperty("en", "Germany"), new JProperty("de", "Deutschland") ) ) )), new JProperty("ChargingStations", new JArray()) ), new JObject(new JProperty("ChargingPoolId", "DE*GEF*P3333"), new JProperty("OperatorId", "DE*GEF"), new JProperty("Address", new JObject(new JProperty("houseNumber", "19"), new JProperty("street", "Avenue"), new JProperty("postalCode", "07758"), new JProperty("city", new JObject(new JProperty("be", "Brussels")) ), new JProperty("country", new JObject(new JProperty("en", "Belgium")) ) )), new JProperty("ChargingStations", new JArray()) ) ).ToString(), JArray.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'GET " + URI + "'!"); } } #endregion #region Verify COUNT /RNs/TEST_RN1/ChargingPools using (var HTTPTask = HTTPClient.Execute(client => client.COUNT(URI, requestbuilder => { requestbuilder.Host = HTTPHostname.Localhost; requestbuilder.ContentType = HTTPContentType.JSON_UTF8; requestbuilder.Accept.Add(HTTPContentType.JSON_UTF8); }), RequestTimeout: Timeout, CancellationToken: new CancellationTokenSource().Token)) { HTTPTask.Wait(Timeout); using (var HTTPResult = HTTPTask.Result) { Assert.AreEqual(HTTPStatusCode.OK, HTTPResult.HTTPStatusCode, "'GET " + URI + "' failed!"); Assert.AreEqual(new JObject(new JProperty("count", 3)).ToString(), JObject.Parse(HTTPResult.HTTPBody.ToUTF8String()).ToString(), "Invalid response for 'COUNT " + URI + "'!"); } } #endregion }