public void ClusterConfigurations_Get_Test() { var optionsValue = new FastDFSOptions() { ClusterConfigurations = new List <ClusterConfiguration>() { new ClusterConfiguration() { Name = "cluster1", Charset = "utf-8", TrackerMaxConnection = 1, StorageMaxConnection = 2, Trackers = new List <Tracker>() { new Tracker("127.0.0.1", 22122) } } } }; var options = Options.Create <FastDFSOptions>((FastDFSOptions)optionsValue); IClusterSelector clusterSelector = new DefaultClusterSelector(options); var configuration = clusterSelector.Get("cluster1"); Assert.Equal("cluster1", configuration.Name); Assert.Equal(1, configuration.TrackerMaxConnection); Assert.Equal(2, configuration.StorageMaxConnection); }
public void ClusterConfigurations_Empty_Test() { var optionsValue = new FastDFSOptions(); var options = Options.Create <FastDFSOptions>((FastDFSOptions)optionsValue); IClusterSelector clusterSelector = new DefaultClusterSelector(options); Assert.Throws <ArgumentNullException>(() => { clusterSelector.Get("cluster1"); }); }
public void ClusterConfigurations_Get_Default_Test() { var optionValue = new FastDFSOptions() { ClusterConfigurations = new List <ClusterConfiguration>() { new ClusterConfiguration() { Name = "cluster2", Charset = "utf-8" } } }; var options = Options.Create <FastDFSOptions>((FastDFSOptions)optionValue); IClusterSelector clusterSelector = new DefaultClusterSelector(options); var configuration = clusterSelector.Get("cluster1"); Assert.Equal("cluster2", configuration.Name); }
public void Get_Default_CreateNew_Test() { var optionsValue = new FastDFSOptions() { ClusterConfigurations = new List <ClusterConfiguration>() { new ClusterConfiguration() { Name = "cluster1", Trackers = new List <Tracker>() { new Tracker("127.0.0.1", 22122) } } } }; var options = Options.Create <FastDFSOptions>((FastDFSOptions)optionsValue); var mockCluster = new Mock <ICluster>(); mockCluster.Setup(x => x.Name).Returns("cluster1"); var mockScopeServiceProvider = new Mock <IServiceProvider>(); mockScopeServiceProvider.Setup(x => x.GetService(typeof(ICluster))) .Returns(mockCluster.Object); mockScopeServiceProvider.Setup(x => x.GetService(typeof(ClusterConfiguration))) .Returns(optionsValue.ClusterConfigurations.FirstOrDefault()); var mockServiceScope = new Mock <IServiceScope>(); mockServiceScope.Setup(x => x.ServiceProvider) .Returns(mockScopeServiceProvider.Object); var mockScopeFactory = new Mock <IServiceScopeFactory>(); mockScopeFactory.Setup(x => x.CreateScope()) .Returns(mockServiceScope.Object); var mockServiceProvider = new Mock <IServiceProvider>(); mockServiceProvider.Setup(x => x.GetService(typeof(IServiceScopeFactory))) .Returns(mockScopeFactory.Object); var mockClusterSelector = new Mock <IClusterSelector>(); mockClusterSelector.Setup(x => x.Get("cluster1")).Returns(optionsValue.ClusterConfigurations.FirstOrDefault()); IClusterFactory clusterFactory = new DefaultClusterFactory(_mockLogger.Object, mockServiceProvider.Object, options, mockClusterSelector.Object); var cluster = clusterFactory.Get(""); mockClusterSelector.Verify(x => x.Get("cluster1"), Times.Once); mockScopeServiceProvider.Verify(x => x.GetService(typeof(ICluster)), Times.Once); mockScopeServiceProvider.Verify(x => x.GetService(typeof(ClusterConfiguration)), Times.Once); var cluster2 = clusterFactory.Get(""); Assert.Equal("cluster1", cluster2.Name); }