internal async Task <IServiceManager> CreateServicesAsync(string root, InterpreterConfiguration configuration = null)
        {
            configuration = configuration ?? PythonVersions.LatestAvailable;
            configuration.AssertInstalled();
            Trace.TraceInformation("Cache Path: " + configuration.ModuleCachePath);
            configuration.ModuleCachePath = TestData.GetAstAnalysisCachePath(configuration.Version, true);
            configuration.SearchPaths     = new[] { GetAnalysisTestDataFilesPath() };
            configuration.TypeshedPath    = TestData.GetDefaultTypeshedPath();

            var sm = CreateServiceManager();

            sm.AddService(new DiagnosticsService());

            TestLogger.Log(TraceEventType.Information, "Create TestDependencyResolver");
            var dependencyResolver = new TestDependencyResolver();

            sm.AddService(dependencyResolver);

            TestLogger.Log(TraceEventType.Information, "Create PythonAnalyzer");
            var analyzer = new PythonAnalyzer(sm);

            sm.AddService(analyzer);

            TestLogger.Log(TraceEventType.Information, "Create PythonInterpreter");
            var interpreter = await PythonInterpreter.CreateAsync(configuration, root, sm);

            sm.AddService(interpreter);

            TestLogger.Log(TraceEventType.Information, "Create RunningDocumentTable");
            var documentTable = new RunningDocumentTable(root, sm);

            sm.AddService(documentTable);

            return(sm);
        }
示例#2
0
        public void Setup()
        {
            var eventStore         = new TestEventStore();
            var dependencyResolver = new TestDependencyResolver(eventStore);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());
            var eventPublisher     = new TestEventPublisher();

            _unitOfWork = new UnitOfWork <ISingleSignOnToken>(new AggregateRepository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper()));
        }
示例#3
0
 public void Setup()
 {
     _locator  = new TestDependencyResolver();
     _register = new BusRegistrar(_locator);
     if (TestHandleRegistrar.HandlerList.Count == 0)
     {
         _register.Register(GetType());
     }
 }
示例#4
0
        public void Setup()
        {
            // This will clear the cache between runs.
            var cacheKeys = MemoryCache.Default.Select(kvp => kvp.Key).ToList();

            foreach (var cacheKey in cacheKeys)
            {
                MemoryCache.Default.Remove(cacheKey);
            }

            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());

            _testStore = new TestInMemoryEventStore();
            _rep1      = new CacheRepository <ISingleSignOnToken>(new AggregateRepository <ISingleSignOnToken>(aggregateFactory, _testStore, new TestEventPublisher(), new NullCorrelationIdHelper()), _testStore);
            _rep2      = new CacheRepository <ISingleSignOnToken>(new AggregateRepository <ISingleSignOnToken>(aggregateFactory, _testStore, new TestEventPublisher(), new NullCorrelationIdHelper()), _testStore);

            _aggregate = new TestAggregate(Guid.NewGuid());
            _rep1.Save(_aggregate);

            var t1 = new Task(() =>
            {
                for (var i = 0; i < 100; i++)
                {
                    var aggregate = _rep1.Get <TestAggregate>(_aggregate.Id);
                    aggregate.DoSomething();
                    _rep1.Save(aggregate);
                }
            });

            var t2 = new Task(() =>
            {
                for (var i = 0; i < 100; i++)
                {
                    var aggregate = _rep2.Get <TestAggregate>(_aggregate.Id);
                    aggregate.DoSomething();
                    _rep2.Save(aggregate);
                }
            });
            var t3 = new Task(() =>
            {
                for (var i = 0; i < 100; i++)
                {
                    var aggregate = _rep2.Get <TestAggregate>(_aggregate.Id);
                    aggregate.DoSomething();
                    _rep2.Save(aggregate);
                }
            });

            t1.Start();
            t2.Start();
            t3.Start();

            Task.WaitAll(new[] { t1, t2, t3 });
        }
示例#5
0
        public void Setup()
        {
            _eventStore     = new TestInMemoryEventStore();
            _eventPublisher = new TestEventPublisher();
            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());

            _rep = new Repository <ISingleSignOnToken>(aggregateFactory, _eventStore, _eventPublisher, new NullCorrelationIdHelper());

            _aggregate = new TestAggregate(Guid.Empty);
        }
示例#6
0
        public void Setup()
        {
            var eventStore = new TestEventStore();

            _commandPublisher   = new TestCommandPublisher();
            _dependencyResolver = new TestDependencyResolver(eventStore, _commandPublisher);
            var sagaFactory        = new AggregateFactory(_dependencyResolver, _dependencyResolver.Resolve <ILogger>());
            var testEventPublisher = new TestEventPublisher();

            _unitOfWork = new SagaUnitOfWork <ISingleSignOnToken>(new SagaRepository <ISingleSignOnToken>(sagaFactory, eventStore, testEventPublisher, null, new NullCorrelationIdHelper()));
        }
示例#7
0
        public void Setup()
        {
            _dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory = new AggregateFactory(_dependencyResolver, _dependencyResolver.Resolve <ILogger>());

            _eventStore     = new TestInMemoryEventStore();
            _eventPublisher = new TestEventPublisher();
            _rep            = new AggregateRepository <ISingleSignOnToken>(aggregateFactory, _eventStore, _eventPublisher, new NullCorrelationIdHelper(), new ConfigurationManager());
            _unitOfWork     = new UnitOfWork <ISingleSignOnToken>(_rep);

            _aggregate = new TestAggregateNoParameterLessConstructor(2);
        }
示例#8
0
        public void Setup()
        {
            var eventStore         = new TestInMemoryEventStore();
            var eventPublisher     = new TestEventPublisher();
            var snapshotStore      = new TestSnapshotStore();
            var snapshotStrategy   = new DefaultSnapshotStrategy <ISingleSignOnToken>();
            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());
            var snapshotRepository = new SnapshotRepository <ISingleSignOnToken>(snapshotStore, snapshotStrategy, new Repository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper()), eventStore, aggregateFactory);
            var session            = new UnitOfWork <ISingleSignOnToken>(snapshotRepository);

            _aggregate = session.Get <TestSnapshotAggregate>(Guid.NewGuid());
        }
示例#9
0
        public void Setup()
        {
            _eventStore     = new TestInMemoryEventStore();
            _eventPublisher = new TestEventPublisher();
            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());

            _rep        = new Repository <ISingleSignOnToken>(aggregateFactory, _eventStore, _eventPublisher, new NullCorrelationIdHelper());
            _unitOfWork = new UnitOfWork <ISingleSignOnToken>(_rep);

            _aggregate = new TestAggregate(Guid.NewGuid());
            _aggregate.DoSomething();
            _rep.Save(_aggregate);
        }
        public void Setup()
        {
            var eventStore       = new TestSnapshotEventStore();
            var eventPublisher   = new TestEventPublisher();
            var snapshotStore    = new NullSnapshotStore();
            var snapshotStrategy = new DefaultSnapshotStrategy <ISingleSignOnToken>();

            _dependencyResolver = new TestDependencyResolver(null);
            var  aggregateFactory = new AggregateFactory(_dependencyResolver, _dependencyResolver.Resolve <ILogger>());
            var  repository       = new SnapshotRepository <ISingleSignOnToken>(snapshotStore, snapshotStrategy, new AggregateRepository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper(), new ConfigurationManager()), eventStore, aggregateFactory);
            var  session          = new UnitOfWork <ISingleSignOnToken>(repository);
            Guid id = Guid.NewGuid();

            _dependencyResolver.NewAggregateGuid = id;
            _aggregate = session.Get <TestSnapshotAggregate>(id);
        }
        public void Setup()
        {
            var eventStore     = new TestInMemoryEventStore();
            var eventPublisher = new TestEventPublisher();

            _snapshotStore = new TestSnapshotStore();
            var snapshotStrategy   = new DefaultSnapshotStrategy <ISingleSignOnToken>();
            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());
            var repository         = new SnapshotRepository <ISingleSignOnToken>(_snapshotStore, snapshotStrategy, new AggregateRepository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper(), new ConfigurationManager()), eventStore, aggregateFactory);
            var session            = new UnitOfWork <ISingleSignOnToken>(repository);
            var aggregate          = new TestSnapshotAggregate();

            for (int i = 0; i < 30; i++)
            {
                aggregate.DoSomething();
            }
            session.Add(aggregate);
            session.Commit();
        }
示例#12
0
        public void Setup()
        {
            IEventStore <ISingleSignOnToken> eventStore = new TestInMemoryEventStore();
            var eventPublisher = new TestEventPublisher();

            _snapshotStore = new TestInMemorySnapshotStore();
            var snapshotStrategy   = new DefaultSnapshotStrategy <ISingleSignOnToken>();
            var dependencyResolver = new TestDependencyResolver(null);
            var aggregateFactory   = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve <ILogger>());
            var repository         = new SnapshotRepository <ISingleSignOnToken>(_snapshotStore, snapshotStrategy, new Repository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper()), eventStore, aggregateFactory);

            _unitOfWork = new UnitOfWork <ISingleSignOnToken>(repository);
            _aggregate  = new TestSnapshotAggregate();

            for (var i = 0; i < 20; i++)
            {
                _unitOfWork.Add(_aggregate);
                _aggregate.DoSomething();
                _unitOfWork.Commit();
            }
        }
        public static HttpServer SetupODataServer(TestDependencyResolver dependencyResolver = null)
        {
            // Controllers
            var repo = SetupTestPackageRepository();

            var configuration = new Mock<IGalleryConfigurationService>(MockBehavior.Strict);
            configuration.Setup(c => c.GetSiteRoot(It.IsAny<bool>())).Returns("https://nuget.org/");
            configuration.Setup(c => c.Features).Returns(new FeatureConfiguration { FriendlyLicenses = true });

            var searchService = new Mock<ISearchService>(MockBehavior.Strict);
            searchService.Setup(s => s.Search(It.IsAny<SearchFilter>())).Returns
                <IQueryable<Package>, string>((_, __) => Task.FromResult(new SearchResults(_.Count(), DateTime.UtcNow, _)));
            searchService.Setup(s => s.ContainsAllVersions).Returns(false);

            var v1Service = new TestableV1Feed(repo.Object, configuration.Object, searchService.Object);
            var v2Service = new TestableV2Feed(repo.Object, configuration.Object, searchService.Object);

            if (dependencyResolver == null)
            {
                dependencyResolver = new TestDependencyResolver();
            }
            dependencyResolver.RegisterService(typeof(ODataV1FeedController), v1Service);
            dependencyResolver.RegisterService(typeof(ODataV2FeedController), v2Service);

            // Create server
            var server = SetupServer(dependencyResolver);

            // Additional routes needed in tests
            server.Configuration.Routes.Add("v1" + RouteName.DownloadPackage, new HttpRoute("api/v1/package/{id}/{version}"));
            server.Configuration.Routes.Add("v2" + RouteName.DownloadPackage, new HttpRoute("api/v2/package/{id}/{version}"));

            // Ready to go
            return server;
        }