Ejemplo n.º 1
0
 /// <summary>
 /// Main facade from API - uses dependency injection in order to load the services and repository
 /// There are 3 endpoints available
 /// </summary>
 /// <param name="repository"></param>
 /// <param name="diffService"></param>
 /// <param name="encodeService"></param>
 /// <param name="logger"></param>
 public DiffController(IJsonRepository repository, IDiffService diffService, IEncodeService encodeService, ILogger <DiffController> logger)
 {
     _jsonRepository = repository;
     _encodeService  = encodeService;
     _diffService    = diffService;
     _logger         = logger;
 }
Ejemplo n.º 2
0
 public AuditService(IStateService stateService, IDiffService diffService, IAuditRepository auditRepository)
 {
     _stateService    = stateService;
     _diffService     = diffService;
     _auditRepository = auditRepository;
     _trackedItems    = new List <TrackedItem>();
 }
Ejemplo n.º 3
0
 public CommitsService(
     IMessage message,
     IRepositoryCommands repositoryCommands,
     Func <SetBranchPromptDialog> setBranchPromptDialogProvider,
     IGitCommitBranchNameService gitCommitBranchNameService,
     IDiffService diffService,
     ILinkService linkService,
     IRepositoryMgr repositoryMgr,
     IProgressService progressService,
     IStatusService statusService,
     IGitCommitService gitCommitService,
     IGitStatusService gitStatusService,
     Func <
         BranchName,
         IEnumerable <CommitFile>,
         string,
         bool,
         CommitDialog> commitDialogProvider)
 {
     this.commitDialogProvider = commitDialogProvider;
     this.gitCommitService     = gitCommitService;
     this.gitStatusService     = gitStatusService;
     this.message                       = message;
     this.repositoryCommands            = repositoryCommands;
     this.setBranchPromptDialogProvider = setBranchPromptDialogProvider;
     this.gitCommitBranchNameService    = gitCommitBranchNameService;
     this.diffService                   = diffService;
     this.linkService                   = linkService;
     this.repositoryMgr                 = repositoryMgr;
     this.progress                      = progressService;
     this.statusService                 = statusService;
 }
Ejemplo n.º 4
0
        private void GivenTwoDifferentBase64EncodedBinaryData()
        {
            _repository.GetLeftBase64(_key).Returns(_base64Data1);
            _repository.GetRightBase64(_key).Returns(_base64Data2);

            _diffService = new DiffService(_repository);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of <see cref="DiffController"/>
 /// </summary>
 /// <param name="payLoadCreateService"></param>
 /// <param name="diffAnalyzerService"></param>
 /// <param name="responseHandler"></param>
 public DiffController(IPayLoadService payLoadCreateService, IDiffService diffAnalyzerService,
                       IResponseCreator responseHandler)
 {
     _payLoadCreateService = payLoadCreateService ?? throw new ArgumentNullException(nameof(payLoadCreateService));
     _diffAnalyzerService  = diffAnalyzerService ?? throw new ArgumentNullException(nameof(diffAnalyzerService));
     _responseCreator      = responseHandler ?? throw new ArgumentNullException(nameof(responseHandler));
 }
Ejemplo n.º 6
0
        private void GivenTwoDifferentSizeBase64()
        {
            _repository.GetLeftBase64(_key).Returns(_base64Data1);
            _repository.GetRightBase64(_key).Returns(_base64Data3);

            _diffService = new DiffService(_repository);
        }
        public DiffControllerTests()
        {
            _payLoadService  = Substitute.For <IPayLoadService>();
            _diffService     = Substitute.For <IDiffService>();
            _responseCreator = Substitute.For <IResponseCreator>();

            _sut = new DiffController(_payLoadService, _diffService, _responseCreator);
        }
 public CommitDetailsViewModel(
     IDiffService diffService,
     IThemeService themeService,
     ICommitsService commitsService)
 {
     this.diffService    = diffService;
     this.themeService   = themeService;
     this.commitsService = commitsService;
 }
Ejemplo n.º 9
0
 static PullRequestSessionService CreateTarget(IDiffService diffService)
 {
     return(new PullRequestSessionService(
                Substitute.For <IGitService>(),
                Substitute.For <IGitClient>(),
                diffService,
                Substitute.For <IApiClientFactory>(),
                Substitute.For <IUsageTracker>()));
 }
        public PullRequestSessionService(
            IGitService gitService,
            IGitClient gitClient,
            IDiffService diffService)
        {
            this.gitService  = gitService;
            this.gitClient   = gitClient;
            this.diffService = diffService;

            mergeBaseCache = new Dictionary <Tuple <string, string>, string>();
        }
Ejemplo n.º 11
0
 public CommitFileViewModel(
     IDiffService diffService,
     IThemeService themeService,
     CommitFile file,
     Command <string> undoUncommittedFileCommand)
 {
     this.diffService           = diffService;
     this.themeService          = themeService;
     this.file                  = file;
     UndoUncommittedFileCommand = undoUncommittedFileCommand.With(() => Name);
 }
Ejemplo n.º 12
0
 public BranchViewModel(
     IBranchService branchService,
     IDiffService diffService,
     IThemeService themeService,
     IRepositoryCommands repositoryCommands)
 {
     this.branchService      = branchService;
     this.diffService        = diffService;
     this.themeService       = themeService;
     this.repositoryCommands = repositoryCommands;
     this.showBranchCommand  = Command <Branch>(repositoryCommands.ShowBranch);
 }
Ejemplo n.º 13
0
 public TransactionsScanService(
     ICacheMaintainer <TransactionState> cacheMaintainer,
     QBitNinjaClient qBitNinjaClient,
     IDiffService <BcnTransaction> diffService,
     IPayInternalClient payInternalClient,
     ILogFactory logFactory)
 {
     _cacheMaintainer   = cacheMaintainer ?? throw new ArgumentNullException(nameof(cacheMaintainer));
     _qBitNinjaClient   = qBitNinjaClient ?? throw new ArgumentNullException(nameof(qBitNinjaClient));
     _diffService       = diffService ?? throw new ArgumentNullException(nameof(diffService));
     _payInternalClient = payInternalClient ?? throw new ArgumentNullException(nameof(payInternalClient));
     _log = logFactory.CreateLog(this);
 }
            IPullRequestSessionService CreateRealSessionService(IDiffService diff)
            {
                var result = Substitute.ForPartsOf <PullRequestSessionService>(
                    Substitute.For <IGitService>(),
                    Substitute.For <IGitClient>(),
                    diff,
                    Substitute.For <IApiClientFactory>(),
                    Substitute.For <IUsageTracker>());

                result.CreateRebuildSignal().Returns(new Subject <ITextSnapshot>());
                result.GetPullRequestMergeBase(Arg.Any <ILocalRepositoryModel>(), Arg.Any <IPullRequestModel>())
                .Returns("MERGE_BASE");
                return(result);
            }
        static IPullRequestSessionService CreateSessionService(IDiffService diffService = null)
        {
            var result = Substitute.ForPartsOf <PullRequestSessionService>(
                Substitute.For <IGitService>(),
                Substitute.For <IGitClient>(),
                diffService ?? Substitute.For <IDiffService>(),
                Substitute.For <IApiClientFactory>(),
                Substitute.For <IUsageTracker>());

            result.GetTipSha(Arg.Any <ILocalRepositoryModel>()).Returns("BRANCH_TIP");
            result.GetPullRequestMergeBase(Arg.Any <ILocalRepositoryModel>(), Arg.Any <IPullRequestModel>())
            .Returns("MERGE_BASE");
            return(result);
        }
Ejemplo n.º 16
0
 internal App(
     ICommandLine commandLine,
     IDiffService diffService,
     IThemeService themeService,
     IInstaller installer,
     Lazy <MainWindow> mainWindow,
     WorkingFolder workingFolder)
 {
     this.commandLine   = commandLine;
     this.diffService   = diffService;
     this.themeService  = themeService;
     this.installer     = installer;
     this.mainWindow    = mainWindow;
     this.workingFolder = workingFolder;
 }
Ejemplo n.º 17
0
 public CommitViewModel(
     IBranchService branchService,
     IDiffService diffService,
     IThemeService themeService,
     IRepositoryCommands repositoryCommands,
     ICommitsService commitsService,
     ITagService tagService)
 {
     this.branchService      = branchService;
     this.diffService        = diffService;
     this.themeService       = themeService;
     this.repositoryCommands = repositoryCommands;
     this.commitsService     = commitsService;
     this.tagService         = tagService;
 }
 public WalletsScanService(
     ICacheMaintainer <WalletState> cacheMaintainer,
     QBitNinjaClient qBitNinjaClient,
     IDiffService <PaymentBcnTransaction> diffService,
     IPayInternalClient payInternalClient,
     ILogFactory logFactory,
     string bitcoinNetwork)
 {
     _cacheMaintainer   = cacheMaintainer ?? throw new ArgumentNullException(nameof(cacheMaintainer));
     _qBitNinjaClient   = qBitNinjaClient ?? throw new ArgumentNullException(nameof(qBitNinjaClient));
     _diffService       = diffService ?? throw new ArgumentNullException(nameof(diffService));
     _payInternalClient = payInternalClient ?? throw new ArgumentNullException(nameof(payInternalClient));
     _bitcoinNetwork    = Network.GetNetwork(bitcoinNetwork);
     _log = logFactory.CreateLog(this);
 }
        public PullRequestSessionService(
            IGitService gitService,
            IGitClient gitClient,
            IDiffService diffService,
            IApiClientFactory apiClientFactory,
            IUsageTracker usageTracker)
        {
            this.gitService       = gitService;
            this.gitClient        = gitClient;
            this.diffService      = diffService;
            this.apiClientFactory = apiClientFactory;
            this.usageTracker     = usageTracker;

            mergeBaseCache = new Dictionary <Tuple <string, string>, string>();
        }
        public InlineCommentTaggerProvider(
            IGitService gitService,
            IGitClient gitClient,
            IDiffService diffService,
            IPullRequestSessionManager sessionManager)
        {
            Guard.ArgumentNotNull(gitService, nameof(gitService));
            Guard.ArgumentNotNull(gitClient, nameof(gitClient));
            Guard.ArgumentNotNull(sessionManager, nameof(sessionManager));

            this.gitService     = gitService;
            this.gitClient      = gitClient;
            this.diffService    = diffService;
            this.sessionManager = sessionManager;
        }
        //private static readonly string TestSubject =
        //"01234567890123456789012345678901234567890123456789]";

        //private static readonly string TestDescription =
        //"012345678901234567890123456789012345678901234567890123456789012345678912]";


        public CommitDialogViewModel(
            ICommitsService commitsService,
            WorkingFolder workingFolder,
            IDiffService diffService,
            IThemeService themeService,
            IMessage message,
            BranchName branchName,
            IEnumerable <CommitFile> files,
            string commitMessage,
            bool isMerging)
        {
            CommitFiles = files.ToList();

            this.commitsService = commitsService;
            this.diffService    = diffService;
            this.themeService   = themeService;
            this.message        = message;
            this.isMerging      = isMerging;

            files.ForEach(f => Files.Add(
                              ToCommitFileViewModel(workingFolder, f)));

            if (!string.IsNullOrWhiteSpace(commitMessage))
            {
                string[] lines              = commitMessage.Split("\n".ToCharArray());
                string   subject            = lines[0];
                string   mergeSubjectSuffix = $" into {branchName}";
                if (!subject.EndsWith(mergeSubjectSuffix))
                {
                    subject += mergeSubjectSuffix;
                }

                Subject = subject;

                if (lines.Length > 1)
                {
                    Description = string.Join("\n", lines.Skip(1));
                }
            }

            BranchText = isMerging ? $"Commit merge to {branchName}" : $"Commit on {branchName}";
            //Subject = TestSubject;
            //Description = TestDescription;
        }
Ejemplo n.º 22
0
        public DiffController(
            IDiffService diffService,
            IComparisonContentRepository contentRepository,
            ILogger <DiffController> logger)
        {
            if (diffService == null)
            {
                throw new ArgumentNullException(nameof(diffService));
            }

            if (contentRepository == null)
            {
                throw new ArgumentNullException(nameof(contentRepository));
            }

            _diffService       = diffService;
            _contentRepository = contentRepository;
            _logger            = logger ?? NullLogger <DiffController> .Instance;
        }
Ejemplo n.º 23
0
        public InlineCommentTagger(
            IGitService gitService,
            IGitClient gitClient,
            IDiffService diffService,
            ITextView view,
            ITextBuffer buffer,
            IPullRequestSessionManager sessionManager)
        {
            Guard.ArgumentNotNull(gitService, nameof(gitService));
            Guard.ArgumentNotNull(gitClient, nameof(gitClient));
            Guard.ArgumentNotNull(diffService, nameof(diffService));
            Guard.ArgumentNotNull(buffer, nameof(buffer));
            Guard.ArgumentNotNull(sessionManager, nameof(sessionManager));

            this.gitService     = gitService;
            this.gitClient      = gitClient;
            this.diffService    = diffService;
            this.buffer         = buffer;
            this.view           = view;
            this.sessionManager = sessionManager;
        }
Ejemplo n.º 24
0
        public RepositoryViewModel(
            WorkingFolder workingFolder,
            IDiffService diffService,
            ICommandLine commandLine,
            IViewModelService viewModelService,
            ICommitsService commitsService,
            IRepositoryService repositoryService,
            IGitFetchService gitFetchService,
            IThemeService themeService,
            IOpenRepoService openRepoService,
            IRecentReposService recentReposService,
            IMessage message,
            IProgressService progressService,
            Func <CommitDetailsViewModel> commitDetailsViewModelProvider)
        {
            this.workingFolder     = workingFolder;
            this.diffService       = diffService;
            this.commandLine       = commandLine;
            this.viewModelService  = viewModelService;
            this.commitsService    = commitsService;
            this.repositoryService = repositoryService;

            this.gitFetchService = gitFetchService;

            this.themeService       = themeService;
            this.openRepoService    = openRepoService;
            this.recentReposService = recentReposService;
            this.message            = message;
            this.progress           = progressService;

            VirtualItemsSource = new RepositoryVirtualItemsSource(Branches, Merges, Commits, OpenRepos);

            filterTriggerTimer.Tick    += FilterTrigger;
            filterTriggerTimer.Interval = FilterDelay;

            CommitDetailsViewModel = commitDetailsViewModelProvider();

            repositoryService.RepositoryUpdated      += (s, e) => OnRepositoryUpdated();
            repositoryService.RepositoryErrorChanged += (s, e) => FetchErrorText = e.ErrorText;
        }
Ejemplo n.º 25
0
        public InlineCommentTagger(
            IGitService gitService,
            IGitClient gitClient,
            IDiffService diffService,
            ITextView view,
            ITextBuffer buffer,
            IPullRequestSessionManager sessionManager,
            IInlineCommentPeekService peekService)
        {
            Guard.ArgumentNotNull(gitService, nameof(gitService));
            Guard.ArgumentNotNull(gitClient, nameof(gitClient));
            Guard.ArgumentNotNull(diffService, nameof(diffService));
            Guard.ArgumentNotNull(buffer, nameof(buffer));
            Guard.ArgumentNotNull(sessionManager, nameof(sessionManager));
            Guard.ArgumentNotNull(peekService, nameof(peekService));

            this.gitService     = gitService;
            this.gitClient      = gitClient;
            this.diffService    = diffService;
            this.buffer         = buffer;
            this.view           = view;
            this.sessionManager = sessionManager;
            this.peekService    = peekService;

            trackingPoints = new Dictionary <IInlineCommentThreadModel, ITrackingPoint>();

            if (view.Options.GetOptionValue("Tabs/ConvertTabsToSpaces", false))
            {
                tabsToSpaces = view.Options.GetOptionValue <int?>("Tabs/TabSize", null);
            }

            signalRebuild = new Subject <ITextSnapshot>();
            signalRebuild.Throttle(TimeSpan.FromMilliseconds(500))
            .ObserveOn(RxApp.MainThreadScheduler)
            .Subscribe(x => Rebuild(x).Forget());

            this.buffer.Changed += Buffer_Changed;
        }
Ejemplo n.º 26
0
 IPullRequestSessionService CreateRealSessionService(
     IDiffService diff,
     PullRequestDetailModel pullRequest)
 {
     var result = Substitute.ForPartsOf<PullRequestSessionService>(
         Substitute.For<IGitService>(),
         Substitute.For<IGitClient>(),
         diff,
         Substitute.For<IApiClientFactory>(),
         Substitute.For<IGraphQLClientFactory>(),
         Substitute.For<IUsageTracker>());
     result.CreateRebuildSignal().Returns(new Subject<ITextSnapshot>());
     result.GetPullRequestMergeBase(
         Arg.Any<ILocalRepositoryModel>(),
         Arg.Any<PullRequestDetailModel>()).Returns("MERGE_BASE");
     result.ReadPullRequestDetail(
         Arg.Any<HostAddress>(),
         Arg.Any<string>(),
         Arg.Any<string>(),
         Arg.Any<int>()).Returns(pullRequest);
     result.ReadViewer(Arg.Any<HostAddress>()).Returns(new ActorModel());
     return result;
 }
        public ViewModelService(
            IBranchService branchService,
            IDiffService diffService,
            ICommitsService commitsService,
            ITagService tagService,
            IThemeService themeService,
            IMessage message,
            IRepositoryMgr repositoryMgr,
            IRepositoryCommands repositoryCommands,
            Func <BranchViewModel> branchViewModelProvider)
        {
            this.branchService           = branchService;
            this.diffService             = diffService;
            this.commitsService          = commitsService;
            this.tagService              = tagService;
            this.themeService            = themeService;
            this.message                 = message;
            this.repositoryMgr           = repositoryMgr;
            this.repositoryCommands      = repositoryCommands;
            this.branchViewModelProvider = branchViewModelProvider;

            this.deleteBranchCommand = new Command <Branch>(
                branchService.DeleteBranchAsync, branchService.CanDeleteBranch, nameof(deleteBranchCommand));
        }
Ejemplo n.º 28
0
 public FakeDiffService()
 {
     this.repository = CreateRepository();
     this.inner      = new DiffService(Substitute.For <IGitClient>());
 }
Ejemplo n.º 29
0
 public DiffController(IDiffService diffService)
 {
     this.diffService = diffService;
 }
Ejemplo n.º 30
0
 /// <summary>
 /// Constructor
 /// </summary>
 public DiffApiService(IOptions <Settings> options, IDataRepository dataRepository, IDiffService diffService)
 {
     _dataRepository = dataRepository;
     _diffService    = diffService;
     _options        = options.Value;
 }