Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
using Omika.Core.Contracts.Mobile.License;
|
||||
using Omika.Core.Observability.Diagnostic;
|
||||
|
||||
namespace Omika.Tests.Contracts.License;
|
||||
|
||||
/// <summary>
|
||||
/// Tests de l'application du snapshot d'appareil à la requête d'activation (T17-C).
|
||||
/// Vérifie que OsType/OsVersion/AppVersion/DeviceInfo sont remplis depuis la MÊME
|
||||
/// source que le diagnostic, sans jamais exposer de DeviceId ni de secret.
|
||||
/// </summary>
|
||||
public class LicenseActivateRequestDeviceExtensionsTests
|
||||
{
|
||||
[Fact]
|
||||
public void ApplyDeviceSnapshot_FillsOsVersionAppAndDeviceInfo()
|
||||
{
|
||||
var request = new LicenseActivateRequest
|
||||
{
|
||||
CodeClient = "C",
|
||||
NumeroLicence = "L",
|
||||
DeviceId = "D"
|
||||
};
|
||||
var device = new DeviceInfoSnapshot
|
||||
{
|
||||
OperatingSystem = "Android",
|
||||
OperatingSystemVersion = "16",
|
||||
AppVersion = "1.0.0",
|
||||
DeviceManufacturer = "Xiaomi",
|
||||
DeviceModel = "23113RKC6G"
|
||||
};
|
||||
|
||||
LicenseActivateRequest result = request.ApplyDeviceSnapshot(device);
|
||||
|
||||
Assert.Equal("Android", result.OsType);
|
||||
Assert.Equal("16", result.OsVersion);
|
||||
Assert.Equal("1.0.0", result.AppVersion);
|
||||
Assert.Equal("manufacturer=Xiaomi;model=23113RKC6G", result.DeviceInfo);
|
||||
Assert.Null(result.NotificationKey);
|
||||
Assert.Equal("D", result.DeviceId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ApplyDeviceSnapshot_NullLeavesFieldsNull()
|
||||
{
|
||||
var request = new LicenseActivateRequest
|
||||
{
|
||||
CodeClient = "C",
|
||||
NumeroLicence = "L",
|
||||
DeviceId = "D"
|
||||
};
|
||||
|
||||
LicenseActivateRequest result = request.ApplyDeviceSnapshot(null);
|
||||
|
||||
Assert.Null(result.OsType);
|
||||
Assert.Null(result.OsVersion);
|
||||
Assert.Null(result.AppVersion);
|
||||
Assert.Null(result.DeviceInfo);
|
||||
Assert.Null(result.NotificationKey);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ApplyDeviceSnapshot_NeverExposesDeviceIdInDeviceInfo()
|
||||
{
|
||||
var request = new LicenseActivateRequest
|
||||
{
|
||||
CodeClient = "C",
|
||||
NumeroLicence = "L",
|
||||
DeviceId = "secret-device-id"
|
||||
};
|
||||
var device = new DeviceInfoSnapshot
|
||||
{
|
||||
DeviceManufacturer = "Apple",
|
||||
DeviceModel = "iPhone17,2"
|
||||
};
|
||||
|
||||
LicenseActivateRequest result = request.ApplyDeviceSnapshot(device);
|
||||
|
||||
Assert.DoesNotContain("secret-device-id", result.DeviceInfo);
|
||||
Assert.DoesNotContain("device-id", result.DeviceInfo);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user