mirror of
https://github.com/bitwarden/server.git
synced 2026-04-12 20:53:32 -05:00
* Add key-connector enrollment * Fix tests * Update src/Api/KeyManagement/Controllers/AccountsKeyManagementController.cs Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com> * Move validation to request model * Add tests * Fix build * Attempt to fix build * Attempt to fix remaining tests * Fix tests * Format --------- Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using Bit.Api.KeyManagement.Models.Requests;
|
|
using Xunit;
|
|
|
|
namespace Bit.Api.Test.KeyManagement.Models.Request;
|
|
|
|
public class KeyConnectorEnrollmentRequestModelTests
|
|
{
|
|
private const string _wrappedUserKey = "2.AOs41Hd8OQiCPXjyJKCiDA==|O6OHgt2U2hJGBSNGnimJmg==|iD33s8B69C8JhYYhSa4V1tArjvLr8eEaGqOV7BRo5Jk=";
|
|
|
|
[Fact]
|
|
public void Validate_KeyConnectorKeyWrappedUserKeyNull_Invalid()
|
|
{
|
|
var model = new KeyConnectorEnrollmentRequestModel
|
|
{
|
|
KeyConnectorKeyWrappedUserKey = null!
|
|
};
|
|
|
|
var results = Validate(model);
|
|
|
|
Assert.Contains(results,
|
|
r => r.ErrorMessage == "KeyConnectorKeyWrappedUserKey must be supplied when request body is provided.");
|
|
}
|
|
|
|
[Fact]
|
|
public void Validate_KeyConnectorKeyWrappedUserKeyWhitespace_Invalid()
|
|
{
|
|
var model = new KeyConnectorEnrollmentRequestModel
|
|
{
|
|
KeyConnectorKeyWrappedUserKey = " "
|
|
};
|
|
|
|
var results = Validate(model);
|
|
|
|
Assert.Contains(results,
|
|
r => r.ErrorMessage == "KeyConnectorKeyWrappedUserKey is not a valid encrypted string.");
|
|
}
|
|
|
|
[Fact]
|
|
public void Validate_KeyConnectorKeyWrappedUserKeyValid_Success()
|
|
{
|
|
var model = new KeyConnectorEnrollmentRequestModel
|
|
{
|
|
KeyConnectorKeyWrappedUserKey = _wrappedUserKey
|
|
};
|
|
|
|
var results = Validate(model);
|
|
|
|
Assert.Empty(results);
|
|
}
|
|
|
|
private static List<ValidationResult> Validate(KeyConnectorEnrollmentRequestModel model)
|
|
{
|
|
var results = new List<ValidationResult>();
|
|
Validator.TryValidateObject(model, new ValidationContext(model), results, true);
|
|
return results;
|
|
}
|
|
}
|