mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-11 01:46:12 +00:00
Unit tests, fixed error response parsing
This commit is contained in:
parent
8a4e8403d2
commit
0f594bf8f4
@ -78,7 +78,8 @@ namespace CryptoExchange.Net.UnitTests
|
|||||||
Assert.IsFalse(result.Success);
|
Assert.IsFalse(result.Success);
|
||||||
Assert.IsTrue(result.Error != null);
|
Assert.IsTrue(result.Error != null);
|
||||||
Assert.IsTrue(result.Error is ServerError);
|
Assert.IsTrue(result.Error is ServerError);
|
||||||
Assert.IsTrue(result.Error.Message.Contains("{\"errorMessage\": \"Invalid request\", \"errorCode\": 123}"));
|
Assert.IsTrue(result.Error.Message.Contains("Invalid request"));
|
||||||
|
Assert.IsTrue(result.Error.Message.Contains("123"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase]
|
[TestCase]
|
||||||
|
@ -173,5 +173,61 @@ namespace CryptoExchange.Net.UnitTests
|
|||||||
// assert
|
// assert
|
||||||
Assert.IsTrue(reconnected);
|
Assert.IsTrue(reconnected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase()]
|
||||||
|
public void UnsubscribingStream_Should_CloseTheSocket()
|
||||||
|
{
|
||||||
|
// arrange
|
||||||
|
var client = new TestSocketClient(new SocketClientOptions() { ReconnectInterval = TimeSpan.Zero, LogVerbosity = LogVerbosity.Debug });
|
||||||
|
var socket = client.CreateSocket();
|
||||||
|
socket.CanConnect = true;
|
||||||
|
var sub = new SocketSubscription(socket);
|
||||||
|
client.ConnectSocketSub(sub);
|
||||||
|
var ups = new UpdateSubscription(sub);
|
||||||
|
|
||||||
|
// act
|
||||||
|
client.Unsubscribe(ups).Wait();
|
||||||
|
|
||||||
|
// assert
|
||||||
|
Assert.IsTrue(socket.Connected == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase()]
|
||||||
|
public void UnsubscribingAll_Should_CloseAllSockets()
|
||||||
|
{
|
||||||
|
// arrange
|
||||||
|
var client = new TestSocketClient(new SocketClientOptions() { ReconnectInterval = TimeSpan.Zero, LogVerbosity = LogVerbosity.Debug });
|
||||||
|
var socket1 = client.CreateSocket();
|
||||||
|
var socket2 = client.CreateSocket();
|
||||||
|
socket1.CanConnect = true;
|
||||||
|
socket2.CanConnect = true;
|
||||||
|
var sub1 = new SocketSubscription(socket1);
|
||||||
|
var sub2 = new SocketSubscription(socket2);
|
||||||
|
client.ConnectSocketSub(sub1);
|
||||||
|
client.ConnectSocketSub(sub2);
|
||||||
|
|
||||||
|
// act
|
||||||
|
client.UnsubscribeAll().Wait();
|
||||||
|
|
||||||
|
// assert
|
||||||
|
Assert.IsTrue(socket1.Connected == false);
|
||||||
|
Assert.IsTrue(socket2.Connected == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase()]
|
||||||
|
public void FailingToConnectSocket_Should_ReturnError()
|
||||||
|
{
|
||||||
|
// arrange
|
||||||
|
var client = new TestSocketClient(new SocketClientOptions() { ReconnectInterval = TimeSpan.Zero, LogVerbosity = LogVerbosity.Debug });
|
||||||
|
var socket = client.CreateSocket();
|
||||||
|
socket.CanConnect = false;
|
||||||
|
var sub = new SocketSubscription(socket);
|
||||||
|
|
||||||
|
// act
|
||||||
|
var connectResult = client.ConnectSocketSub(sub);
|
||||||
|
|
||||||
|
// assert
|
||||||
|
Assert.IsFalse(connectResult.Success);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -295,7 +295,12 @@ namespace CryptoExchange.Net
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.Close();
|
response.Close();
|
||||||
return new CallResult<string>(null, ParseErrorResponse(returnedData));
|
|
||||||
|
var jsonResult = ValidateJson(returnedData);
|
||||||
|
if (!jsonResult.Success)
|
||||||
|
return new CallResult<string>(null, jsonResult.Error);
|
||||||
|
|
||||||
|
return new CallResult<string>(null, ParseErrorResponse(jsonResult.Data));
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
Documentation
|
|
||||||
Data interpreter for string data
|
|
||||||
Unit testing most socket stuff
|
|
Loading…
x
Reference in New Issue
Block a user