Project: Yubico.YubiKey.UnitTests
Project: Yubico.YubiKey.IntegrationTests
To make integration testing easier across the team, we have standardized the set of YubiKeys used in integration
testing. These devices are enumerated in Yubico.YubiKey.TestUtilities.StandardTestDevice. As of April 26, 2021, these
test devices are:
- Fw3
- Major version 3, USB A keychain, not FIPS
- Fw4Fips
- Major version 4, USB A keychain, FIPS
- Fw5
- Major version 5, USB A keychain, not FIPS
- Fw5Fips
- Major version 5, USB A keychain, FIPS
- Fw5ci
- Major version 5, USB C Lightning, not FIPS
The set of all available test devices can be retrieved
using Yubico.YubiKey.TestUtilities.IntegrationTestDeviceEnumeration
To run a test against a specific test device, you can use Yubico.YubiKey.TestUtilities.TestDeviceSelection For
example, SelectRequiredTestDevice(StandardTestDevice) will find the first valid device in a set of IYubiKey objects.
If it cannot find a valid device, it throws an exception.
[Theory]
[InlineData(StandardTestDevice.Fw5)]
[InlineData(StandardTestDevice.Fw5Fips)]
public void SetDeviceInfo_NoData_ResponseStatusSuccess(StandardTestDevice testDeviceType)
{
IYubiKey testDevice =
IntegrationTestDeviceEnumeration.GetTestDevices()
.SelectRequiredTestDevice(testDeviceType);
using IYubiKeyConnection connection = testDevice.Connect(YubiKeyApplication.Management);
var setCommand = new SetDeviceInfoCommand();
YubiKeyResponse setDeviceInfoResponse = connection.SendCommand(setCommand);
Assert.Equal(ResponseStatus.Success, setDeviceInfoResponse.Status);
}