mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-07-23 09:55:48 +00:00
Some small fixes
This commit is contained in:
parent
bf103ce9d1
commit
54aa6907f9
@ -35,20 +35,9 @@ namespace CryptoExchange.Net.Authentication
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="key">The api key / label used for identification</param>
|
/// <param name="key">The api key / label used for identification</param>
|
||||||
/// <param name="secret">The api secret or private key used for signing</param>
|
/// <param name="secret">The api secret or private key used for signing</param>
|
||||||
/// <param name="credentialType">The type of credentials</param>
|
|
||||||
public ApiCredentials(string key, string secret, ApiCredentialsType credentialType = ApiCredentialsType.Hmac)
|
|
||||||
: this(key, secret, null, credentialType)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Create Api credentials providing an api key, secret and pass for authentication
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="key">The api key / label used for identification</param>
|
|
||||||
/// <param name="secret">The api secret or private key used for signing</param>
|
|
||||||
/// <param name="pass">The api pass for the key. Not always needed</param>
|
/// <param name="pass">The api pass for the key. Not always needed</param>
|
||||||
/// <param name="credentialType">The type of credentials</param>
|
/// <param name="credentialType">The type of credentials</param>
|
||||||
public ApiCredentials(string key, string secret, string? pass, ApiCredentialsType credentialType = ApiCredentialsType.Hmac)
|
public ApiCredentials(string key, string secret, string? pass = null, ApiCredentialsType credentialType = ApiCredentialsType.Hmac)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(secret))
|
if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(secret))
|
||||||
throw new ArgumentException("Key and secret can't be null/empty");
|
throw new ArgumentException("Key and secret can't be null/empty");
|
||||||
|
@ -29,7 +29,7 @@ namespace CryptoExchange.Net.Converters.SystemTextJson
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="enumValue"></param>
|
/// <param name="enumValue"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string? GetString<T>(T enumValue) where T : struct, Enum
|
public static string GetString<T>(T enumValue) where T : struct, Enum
|
||||||
=> EnumConverter<T>.GetString(enumValue);
|
=> EnumConverter<T>.GetString(enumValue);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -7,7 +7,7 @@ namespace CryptoExchange.Net.Converters.SystemTextJson
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attribute to mark a model as json serializable. Used for AOT compilation.
|
/// Attribute to mark a model as json serializable. Used for AOT compilation.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[AttributeUsage(System.AttributeTargets.Class | AttributeTargets.Enum)]
|
[AttributeUsage(System.AttributeTargets.Class | AttributeTargets.Enum | System.AttributeTargets.Interface)]
|
||||||
public class SerializationModelAttribute : Attribute
|
public class SerializationModelAttribute : Attribute
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -131,7 +131,7 @@ namespace CryptoExchange.Net.Testing.Comparers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (jsonObject.ValueKind == JsonValueKind.Object)
|
||||||
{
|
{
|
||||||
foreach (var item in jsonObject.EnumerateObject())
|
foreach (var item in jsonObject.EnumerateObject())
|
||||||
{
|
{
|
||||||
@ -144,6 +144,10 @@ namespace CryptoExchange.Net.Testing.Comparers
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//?
|
||||||
|
}
|
||||||
|
|
||||||
Debug.WriteLine($"Successfully validated {method}");
|
Debug.WriteLine($"Successfully validated {method}");
|
||||||
}
|
}
|
||||||
@ -366,8 +370,8 @@ namespace CryptoExchange.Net.Testing.Comparers
|
|||||||
var stringValue = jsonValue.GetString();
|
var stringValue = jsonValue.GetString();
|
||||||
if (objectValue is decimal dec)
|
if (objectValue is decimal dec)
|
||||||
{
|
{
|
||||||
if (decimal.Parse(stringValue!) != dec)
|
if (decimal.Parse(stringValue!, CultureInfo.InvariantCulture) != dec)
|
||||||
throw new Exception($"{method}: {property} not equal: {jsonValue.GetDecimal()} vs {dec}");
|
throw new Exception($"{method}: {property} not equal: {stringValue} vs {dec}");
|
||||||
}
|
}
|
||||||
else if (objectValue is DateTime time)
|
else if (objectValue is DateTime time)
|
||||||
{
|
{
|
||||||
@ -402,7 +406,12 @@ namespace CryptoExchange.Net.Testing.Comparers
|
|||||||
{
|
{
|
||||||
// TODO enum comparing
|
// TODO enum comparing
|
||||||
}
|
}
|
||||||
else if (value != Convert.ToInt64(objectValue))
|
else if(objectValue is decimal dec)
|
||||||
|
{
|
||||||
|
if (dec != value)
|
||||||
|
throw new Exception($"{method}: {property} not equal: {dec} vs {value}");
|
||||||
|
}
|
||||||
|
else if (value != Convert.ToInt64(objectValue, CultureInfo.InvariantCulture))
|
||||||
{
|
{
|
||||||
throw new Exception($"{method}: {property} not equal: {value} vs {Convert.ToInt64(objectValue)}");
|
throw new Exception($"{method}: {property} not equal: {value} vs {Convert.ToInt64(objectValue)}");
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,8 @@ namespace CryptoExchange.Net.Testing
|
|||||||
{
|
{
|
||||||
// |x| values are used to replace parts or response messages
|
// |x| values are used to replace parts or response messages
|
||||||
overrideKey = item.Value.ToString();
|
overrideKey = item.Value.ToString();
|
||||||
overrideValue = lastMessageJson.GetProperty(item.Name).GetString();
|
var prop = lastMessageJson.GetProperty(item.Name);
|
||||||
|
overrideValue = prop.ValueKind == JsonValueKind.String ? prop.GetString() : prop.GetInt64().ToString();
|
||||||
}
|
}
|
||||||
else if (item.Value.ToString() == "-999")
|
else if (item.Value.ToString() == "-999")
|
||||||
{
|
{
|
||||||
@ -128,10 +129,15 @@ namespace CryptoExchange.Net.Testing
|
|||||||
overrideKey = item.Value.ToString();
|
overrideKey = item.Value.ToString();
|
||||||
overrideValue = lastMessageJson.GetProperty(item.Name).GetDecimal().ToString();
|
overrideValue = lastMessageJson.GetProperty(item.Name).GetDecimal().ToString();
|
||||||
}
|
}
|
||||||
else if (lastMessageJson.GetProperty(item.Name).GetString() != item.Value.ToString() && ignoreProperties?.Contains(item.Name) != true)
|
else if (lastMessageJson.GetProperty(item.Name).ValueKind == JsonValueKind.String && lastMessageJson.GetProperty(item.Name).GetString() != item.Value.ToString() && ignoreProperties?.Contains(item.Name) != true)
|
||||||
{
|
{
|
||||||
throw new Exception($"{name} Expected {item.Name} to be {item.Value}, but was {lastMessageJson.GetProperty(item.Name).GetString()}");
|
throw new Exception($"{name} Expected {item.Name} to be {item.Value}, but was {lastMessageJson.GetProperty(item.Name).GetString()}");
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// TODO check arrays and sub-objects
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// TODO check arrays and sub-objects
|
// TODO check arrays and sub-objects
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user