DeviceBridgeTests/Controllers/RegistrationControllerTests.cs (38 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using DeviceBridge.Models; using DeviceBridge.Services; using Microsoft.AspNetCore.Mvc; using Moq; using NLog; using NUnit.Framework; namespace DeviceBridge.Controllers.Tests { [TestFixture] public class RegistrationControllerTests { private const string MockDeviceId = "test-device"; private Mock<IConnectionManager> _connectionManagerMock; private RegistrationController _registrationController; [SetUp] public void Setup() { _connectionManagerMock = new Mock<IConnectionManager>(); _registrationController = new RegistrationController(LogManager.GetCurrentClassLogger(), _connectionManagerMock.Object); } [Test] [Description("Test to ensure that Register calls ConnectionManager.StandaloneDpsRegistrationAsync with correct device ID and model ID.")] public async Task TestRegister() { var body = new RegistrationBody { ModelId = "modelId", }; await _registrationController.Register(MockDeviceId, body); _connectionManagerMock.Verify(p => p.StandaloneDpsRegistrationAsync(It.IsAny<Logger>(), MockDeviceId, body.ModelId, It.IsAny<CancellationToken>())); } } }