123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- using Emby.Dlna;
- using Emby.Dlna.PlayTo;
- using MediaBrowser.Common.Configuration;
- using MediaBrowser.Controller;
- using MediaBrowser.Model.Dlna;
- using MediaBrowser.Model.IO;
- using MediaBrowser.Model.Serialization;
- using Microsoft.Extensions.Logging;
- using Moq;
- using Xunit;
- namespace Jellyfin.Dlna.Tests
- {
- public class DlnaManagerTests
- {
- private DlnaManager GetManager()
- {
- var xmlSerializer = new Mock<IXmlSerializer>();
- var fileSystem = new Mock<IFileSystem>();
- var appPaths = new Mock<IApplicationPaths>();
- var loggerFactory = new Mock<ILoggerFactory>();
- var appHost = new Mock<IServerApplicationHost>();
- return new DlnaManager(xmlSerializer.Object, fileSystem.Object, appPaths.Object, loggerFactory.Object, appHost.Object);
- }
- [Fact]
- public void IsMatch_GivenMatchingName_ReturnsTrue()
- {
- var device = new DeviceInfo()
- {
- Name = "My Device",
- Manufacturer = "LG Electronics",
- ManufacturerUrl = "http://www.lge.com",
- ModelDescription = "LG WebOSTV DMRplus",
- ModelName = "LG TV",
- ModelNumber = "1.0",
- };
- var profile = new DeviceProfile()
- {
- Name = "Test Profile",
- FriendlyName = "My Device",
- Manufacturer = "LG Electronics",
- ManufacturerUrl = "http://www.lge.com",
- ModelDescription = "LG WebOSTV DMRplus",
- ModelName = "LG TV",
- ModelNumber = "1.0",
- Identification = new()
- {
- FriendlyName = "My Device",
- Manufacturer = "LG Electronics",
- ManufacturerUrl = "http://www.lge.com",
- ModelDescription = "LG WebOSTV DMRplus",
- ModelName = "LG TV",
- ModelNumber = "1.0",
- }
- };
- var profile2 = new DeviceProfile()
- {
- Name = "Test Profile",
- FriendlyName = "My Device",
- Identification = new DeviceIdentification()
- {
- FriendlyName = "My Device",
- }
- };
- var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile2.Identification);
- var deviceMatch2 = GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification);
- Assert.True(deviceMatch);
- Assert.True(deviceMatch2);
- }
- [Fact]
- public void IsMatch_GivenNamesAndManufacturersDoNotMatch_ReturnsFalse()
- {
- var device = new DeviceInfo()
- {
- Name = "My Device",
- Manufacturer = "JVC"
- };
- var profile = new DeviceProfile()
- {
- Name = "Test Profile",
- FriendlyName = "My Device",
- Manufacturer = "LG Electronics",
- ManufacturerUrl = "http://www.lge.com",
- ModelDescription = "LG WebOSTV DMRplus",
- ModelName = "LG TV",
- ModelNumber = "1.0",
- Identification = new()
- {
- FriendlyName = "My Device",
- Manufacturer = "LG Electronics",
- ManufacturerUrl = "http://www.lge.com",
- ModelDescription = "LG WebOSTV DMRplus",
- ModelName = "LG TV",
- ModelNumber = "1.0",
- }
- };
- var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification);
- Assert.False(deviceMatch);
- }
- [Fact]
- public void IsMatch_GivenNamesAndRegExMatch_ReturnsTrue()
- {
- var device = new DeviceInfo()
- {
- Name = "My Device"
- };
- var profile = new DeviceProfile()
- {
- Name = "Test Profile",
- FriendlyName = "My .*",
- Identification = new()
- };
- var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification);
- Assert.True(deviceMatch);
- }
- }
- }
|