src/Ombi.Core.Tests/Entities/OmbiUserSerializationTests.cs
Rama develop · réplica de lectura del repositorio original.
using Newtonsoft.Json;
using NUnit.Framework;
using Ombi.Store.Entities;
namespace Ombi.Core.Tests.Entities
{
[TestFixture]
public class OmbiUserSerializationTests
{
private static OmbiUser CreateUser() => new OmbiUser
{
Id = "user-1",
UserName = "someone",
Email = "someone@example.com",
UserAccessToken = "access-token-secret",
MediaServerToken = "media-server-token-secret",
PasswordHash = "password-hash-secret",
SecurityStamp = "stamp-value-one",
ConcurrencyStamp = "concurrency-stamp-secret",
};
[TestCase("access-token-secret")]
[TestCase("media-server-token-secret")]
[TestCase("password-hash-secret")]
[TestCase("stamp-value-one")]
[TestCase("concurrency-stamp-secret")]
public void Serialized_User_DoesNotContain_Secret(string secret)
{
var json = JsonConvert.SerializeObject(CreateUser());
Assert.That(json, Does.Not.Contain(secret));
}
[TestCase("userAccessToken")]
[TestCase("mediaServerToken")]
public void Serialized_User_DoesNotContain_TokenProperty(string property)
{
var json = JsonConvert.SerializeObject(CreateUser(), new JsonSerializerSettings
{
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
});
Assert.That(json, Does.Not.Contain($"\"{property}\""));
}
[Test]
public void Serialized_User_StillContains_PublicFields()
{
var json = JsonConvert.SerializeObject(CreateUser());
Assert.That(json, Does.Contain("someone"));
}
}
}