コード例 #1
0
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();
            Logger.WriteInformation("Initializing");

            try
            {
                HttpClient = new HttpClient();
                HttpClient.DefaultRequestHeaders.Add("User-Agent",
                                                     "Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 6.0) (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
                var pSolution = (IVsSolution)GetService(typeof(SVsSolution));
                var result    = pSolution.AdviseSolutionEvents(new SolutionEventsHandler(), out SolutionEventsHandlerId);
                Settings      = new Settings();
                UserImages    = new UserImageCache();
                Redis         = new RedisWrapper();
                Slack         = new SlackWrapper();
                LocalIdeModel = new LocalIDEModel();
                IDEWrapper    = new IDEWrapper((EnvDTE.DTE)GetService(typeof(EnvDTE.DTE)));


                var versionedAssembly = GetVersionedAssembly();
                SourceControlRepo = new CachedSourceControlRepository(
                    new GitRepository(),
                    GetVersionedType <ISourceControlRepository>(versionedAssembly, "TeamCoding.Documents.SourceControlRepositories.TeamFoundationServiceRepository"),
                    new SolutionNameBasedRepository());
                CaretInfoProvider          = GetVersionedType <ICaretInfoProvider>(versionedAssembly, "TeamCoding.Documents.CaretInfoProvider");
                CaretAdornmentDataProvider = GetVersionedType <ICaretAdornmentDataProvider>(versionedAssembly, "TeamCoding.Documents.CaretAdornmentDataProvider");
                IdentityProvider           = new CachedFailoverIdentityProvider(new VSOptionsIdentityProvider(),
                                                                                new CredentialManagerIdentityProvider(new[] { "git:https://github.com", "https://github.com/" }),
                                                                                new VSIdentityProvider(),
                                                                                new MachineIdentityProvider());
                ConnectionWrapper        = new SqlConnectionWrapper();
                WindowsServiceClient     = new WinServiceClient(Settings.SharedSettings.WinServiceIPAddressProperty);
                RemoteModelChangeManager = new CombinedRemoteModelPersister(new RedisRemoteModelPersister(),
                                                                            new SharedFolderRemoteModelPersister(),
                                                                            new SlackRemoteModelPersister(),
                                                                            new SqlServerRemoteModelPersister(ConnectionWrapper),
                                                                            new WinServiceRemoteModelPersister(WindowsServiceClient));
                LocalModelChangeManager = new CombinedLocalModelPersister(new RedisLocalModelPersister(LocalIdeModel),
                                                                          new SharedFolderLocalModelPersister(LocalIdeModel),
                                                                          new SlackLocalModelPersister(LocalIdeModel),
                                                                          new SqlServerLocalModelPersister(ConnectionWrapper, LocalIdeModel),
                                                                          new WinServiceLocalModelPersister(WindowsServiceClient, LocalIdeModel));
                RemoteModelChangeManager.RemoteModelReceived += RemoteModelChangeManager_RemoteModelReceived;
                TeamCoding.VisualStudio.ToolWindows.OverviewWindow.OverviewCommand.Initialize(this);
            }
            catch (Exception ex) when(!System.Diagnostics.Debugger.IsAttached)
            {
                Logger.WriteError(ex);
            }
        }
コード例 #2
0
        public void should_connect_as_expected()
        {
            // given
            var configReader    = new ConfigReader();
            var pipelineFactory = new PipelineFactoryStub();

            var connector = new SlackWrapper(configReader, pipelineFactory);

            // when
            var task = connector.Connect();

            task.Wait();

            // then
        }