Files
MConnectSDK/MCC_xUnitTest/UnitTestSuite.cs
T
Samuele E. Locatelli 88da8176bf Riportato testing x xUnit
2019-05-25 16:15:49 +02:00

142 lines
3.1 KiB
C#

using System;
using Xunit;
using MConnectSDK;
using System.Threading;
using System.Threading.Tasks;
namespace MCC_xUnitTest
{
public class UnitTestSuite
{
#region area oggetti globali
/// <summary>
/// Token x cancellazione thread
/// </summary>
private CancellationTokenSource _cts = new CancellationTokenSource();
/// <summary>
/// Istanza classe MaestroConnectClient
/// </summary>
protected MConnectClient MCC;
/// <summary>
/// Risposta BASE della classe di comunicazione
/// </summary>
protected Result reqStatus;
/// <summary>
/// File conf yaml
/// </summary>
protected string confFilePath = "mconnect.conf.yaml";
/// <summary>
/// Restituisce un oggetto MCC inizializzato di base
/// </summary>
/// <returns></returns>
private MConnectClient getNewMCC()
{
// arrange
if (_cts != null)
{
_cts.Cancel();
}
// act (COMMON)
MCC = new MConnectClient();
return MCC;
}
#endregion
[Fact]
public void Test_Create_MCC()
{
// act
MCC = getNewMCC();
// assert
Assert.NotNull(MCC);
}
[Fact]
public void Test_initSDK_hasResult()
{
// act
MCC = getNewMCC();
Task<Result> taskResult = MCC.InitSDKAsync(confFilePath, CancellationToken.None);
// assert
Assert.NotNull(taskResult.Result);
}
[Fact]
public void Test_initSDK_throwNoConfig()
{
// act
MCC = getNewMCC();
Task<Result> taskResult = MCC.InitSDKAsync("", CancellationToken.None);
// assert is handled by the ExpectedException
Action actual = () => taskResult.Result.ToString();
// assert
Assert.Throws<AggregateException>(actual);
}
[Fact]
public void Test_initSDK_allPropertyOk()
{
// act
MCC = getNewMCC();
Task<Result> taskResult = MCC.InitSDKAsync(confFilePath, CancellationToken.None);
reqStatus = taskResult.Result;
// asserts
Assert.True(reqStatus.CallResultOk);
Assert.Null(reqStatus.Error);
Assert.True(reqStatus.LocalStatusOk);
Assert.True(reqStatus.CloudStatusOk);
Assert.NotNull(reqStatus.Source);
Assert.Null(reqStatus.Payload);
}
#region Test AUTH + ENROLL
[Fact]
public void Test_isAuth()
{
// act
MCC = getNewMCC();
//MCC.forceRedisFlush();
// init async...
Task<Result> taskResult = MCC.InitSDKAsync(confFilePath, CancellationToken.None);
// converto il risultato restituito...
reqStatus = taskResult.Result;
// assert
Assert.True(reqStatus.IsAuth);
}
[Fact]
public void Test_isHmiEnrolled()
{
// act
MCC = getNewMCC();
//MCC.forceRedisFlush();
// init async...
Task<Result> taskResult = MCC.InitSDKAsync(confFilePath, CancellationToken.None);
// converto il risultato restituito...
reqStatus = taskResult.Result;
// assert
Assert.True(reqStatus.IsHmiEnrolled);
}
#endregion
#region Test INFO UTENTI
#endregion
}
}