Example #1
0
        public void AuthorsFileDifferentIdsForUsersWithSameEmail()
        {
            string[] authors =
            {
                @"Domain\Test.User = Test User <*****@*****.**>",
                @"Domain\Different.User = Three Name User < *****@*****.** >",
                @"Domain\Yet.Another.User = Mr. 3 <*****@*****.**>"
            };

            AuthorsFile authFile = _SetupAuthorsFile(authors);

            Assert.NotNull(authFile.AuthorsByGitUserId);

            // multiple users with the same email -> 3 tfs users, 1 git user
            Assert.Equal <int>(authors.Length, authFile.Authors.Count);
            Assert.Single(authFile.AuthorsByGitUserId);

            // contains all tfs users
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Test.User"));
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Different.User"));
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Yet.Another.User"));

            // contains all git users
            Assert.True(authFile.AuthorsByGitUserId.ContainsKey(Author.BuildGitUserId("*****@*****.**")));

            // return the first tfs user id in the authors file when multiple
            // match to the same git id.
            Tuple <string, string> git_author = new Tuple <string, string>("Test User", "*****@*****.**");
            Author a = authFile.FindAuthor(git_author);

            Assert.NotNull(a);
            Assert.Equal(@"Domain\Test.User", a.TfsUserId);
        }
Example #2
0
 public Fetch(Globals globals, RemoteOptions remoteOptions, AuthorsFile authors, Labels labels)
 {
     this.remoteOptions = remoteOptions;
     this.globals       = globals;
     this.authors       = authors;
     this.labels        = labels;
 }
Example #3
0
 public InitBranch(TextWriter stdout, Globals globals, Help helper, AuthorsFile authors)
 {
     _stdout  = stdout;
     _globals = globals;
     _helper  = helper;
     _authors = authors;
 }
Example #4
0
 public TfsChangeset(ITfsHelper tfs, IChangeset changeset, TextWriter stdout, AuthorsFile authors)
 {
     _tfs       = tfs;
     _changeset = changeset;
     _stdout    = stdout;
     _authors   = authors;
 }
Example #5
0
 public TfsChangeset(ITfsHelper tfs, IChangeset changeset, AuthorsFile authors)
 {
     _tfs            = tfs;
     _changeset      = changeset;
     _authors        = authors;
     BaseChangesetId = _changeset.Changes.Max(c => c.Item.ChangesetId) - 1;
 }
        public void AuthorsFileTestBadRecord()
        {
            string author =
                @"Domain\Test.User = Test User";
            AuthorsFile authFile = new AuthorsFile();

            Assert.Throws <GitTfsException>(() => authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author)))));
        }
Example #7
0
 public Fetch(Globals globals, TextWriter stdout, RemoteOptions remoteOptions, AuthorsFile authors, Labels labels)
 {
     this.globals       = globals;
     this.stdout        = stdout;
     this.remoteOptions = remoteOptions;
     this.authors       = authors;
     this.labels        = labels;
 }
Example #8
0
 public Init(RemoteOptions remoteOptions, InitOptions initOptions, Globals globals, IGitHelpers gitHelper, AuthorsFile authorsFileHelper)
 {
     _remoteOptions     = remoteOptions;
     _gitHelper         = gitHelper;
     _authorsFileHelper = authorsFileHelper;
     _globals           = globals;
     _initOptions       = initOptions;
 }
Example #9
0
 public Rcheckin(CheckinOptions checkinOptions, TfsWriter writer, Globals globals, AuthorsFile authors)
 {
     _checkinOptions        = checkinOptions;
     _checkinOptionsFactory = new CheckinOptionsFactory(globals);
     _writer  = writer;
     _globals = globals;
     _authors = authors;
 }
Example #10
0
        private AuthorsFile _SetupAuthorsFile(string[] authors)
        {
            string author = _MergeAuthorsIntoString(authors);

            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.UTF8.GetBytes(author))));
            return(authFile);
        }
Example #11
0
 public Rcheckin(TextWriter stdout, CheckinOptions checkinOptions, TfsWriter writer, Globals globals, AuthorsFile authors)
 {
     _stdout                = stdout;
     _checkinOptions        = checkinOptions;
     _checkinOptionsFactory = new CommitSpecificCheckinOptionsFactory(_stdout, globals, authors);
     _writer                = writer;
     _globals               = globals;
     _authors               = authors;
 }
Example #12
0
 public TfsChangeset(ITfsHelper tfs, IChangeset changeset, AuthorsFile authors, string cutPath, bool cutPathForce)
 {
     _tfs            = tfs;
     _changeset      = changeset;
     _authors        = authors;
     _cutPath        = cutPath;
     _cutPathForce   = cutPathForce;
     BaseChangesetId = _changeset.Changes.Max(c => c.Item.ChangesetId) - 1;
 }
Example #13
0
 public Fetch(Globals globals, ConfigProperties properties, RemoteOptions remoteOptions, AuthorsFile authors, Labels labels)
 {
     this.globals       = globals;
     this.properties    = properties;
     this.remoteOptions = remoteOptions;
     this.authors       = authors;
     this.labels        = labels;
     this.upToChangeSet = -1;
     BranchStrategy     = BranchStrategy = BranchStrategy.Auto;
 }
Example #14
0
        public void AuthorsFileEmptyFile()
        {
            MemoryStream ms       = new MemoryStream();
            StreamReader sr       = new StreamReader(ms);
            AuthorsFile  authFile = new AuthorsFile();

            authFile.Parse(sr);
            Assert.NotNull(authFile.Authors);
            Assert.Equal <int>(0, authFile.Authors.Count);
        }
Example #15
0
 public Fetch(Globals globals, ConfigProperties properties, TextWriter stdout, RemoteOptions remoteOptions, AuthorsFile authors, Labels labels)
 {
     this.globals       = globals;
     this.properties    = properties;
     this.stdout        = stdout;
     this.remoteOptions = remoteOptions;
     this.authors       = authors;
     this.labels        = labels;
     this.upToChangeSet = -1;
 }
Example #16
0
        public void AuthorsFileMultiLineRecordWithBlankLine()
        {
            string author =
                @"Domain\Test.User = Test User <*****@*****.**>

Domain\Different.User = Three Name User < *****@*****.** >";
            AuthorsFile authFile = new AuthorsFile();

            Assert.Throws <GitTfsException>(() => authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author)))));
        }
Example #17
0
        public void AuthorsFileInternationalCharactersCommented()
        {
            string      author   = @"DOMAIN\Blåbærsyltetøy = ÆØÅ User <ÆØÅ@example.com>
#DifferentDomain\Blåbærsyltetøy = ÆØÅ User <ÆØÅ@example.com>";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.UTF8.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Equal <int>(1, authFile.Authors.Count);
            Assert.True(authFile.Authors.ContainsKey(@"domain\Blåbærsyltetøy"));
        }
Example #18
0
 public GitTfs(GitTfsCommandFactory commandFactory, IHelpHelper help, IContainer container,
               IGitTfsVersionProvider gitTfsVersionProvider, GitTfsCommandRunner runner, Globals globals, Bootstrapper bootstrapper, AuthorsFile authorsFileHelper)
 {
     _commandFactory        = commandFactory;
     _help                  = help;
     _container             = container;
     _gitTfsVersionProvider = gitTfsVersionProvider;
     _runner                = runner;
     _globals               = globals;
     _bootstrapper          = bootstrapper;
     _authorsFileHelper     = authorsFileHelper;
 }
Example #19
0
        public void AuthorsFileInternationalCharacters()
        {
            string      author   = @"DOMAIN\Blåbærsyltetøy = ÆØÅ User <ÆØÅ@example.com>";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.UTF8.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Single(authFile.Authors);
            Assert.True(authFile.Authors.ContainsKey(@"domain\Blåbærsyltetøy"));
            Author auth = authFile.Authors[@"domain\Blåbærsyltetøy"];

            Assert.Equal("ÆØÅ User", auth.Name);
            Assert.Equal("ÆØÅ@example.com", auth.Email);
        }
Example #20
0
        public void AuthorsFileSimpleRecord()
        {
            string      author   = @"Domain\Test.User = Test User <*****@*****.**>";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Single(authFile.Authors);
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Test.User"));
            Author auth = authFile.Authors[@"Domain\Test.User"];

            Assert.Equal("Test User", auth.Name);
            Assert.Equal("*****@*****.**", auth.Email);
        }
Example #21
0
        public void AuthorsFileCaseInsensitiveRecord()
        {
            string      author   = @"DOMAIN\Test.User = Test User <*****@*****.**>";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Equal <int>(1, authFile.Authors.Count);
            Assert.True(authFile.Authors.ContainsKey(@"domain\Test.User"));
            Author auth = authFile.Authors[@"domain\Test.User"];

            Assert.Equal <string>("Test User", auth.Name);
            Assert.Equal <string>("*****@*****.**", auth.Email);
        }
Example #22
0
        public void AuthorsFileCommentCharacterMiddleOfLine()
        {
            string author =
                @"Domain\Test.User = Test User <*****@*****.**>
D#omain\Different.User = Three Name User < *****@*****.** >";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Equal <int>(2, authFile.Authors.Count);

            Assert.True(authFile.Authors.ContainsKey(@"Domain\Test.User"));
            Assert.True(authFile.Authors.ContainsKey(@"D#omain\Different.User"));
        }
Example #23
0
        public void AuthorsFileMultiLineRecord()
        {
            string author =
                @"Domain\Test.User = Test User <*****@*****.**>
Domain\Different.User = Three Name User < *****@*****.** >";
            AuthorsFile authFile = new AuthorsFile();

            authFile.Parse(new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(author))));
            Assert.NotNull(authFile.Authors);
            Assert.Equal <int>(2, authFile.Authors.Count);

            Assert.True(authFile.Authors.ContainsKey(@"Domain\Test.User"));
            Author auth = authFile.Authors[@"Domain\Test.User"];

            Assert.Equal <string>("Test User", auth.Name);
            Assert.Equal <string>("*****@*****.**", auth.Email);

            Assert.True(authFile.Authors.ContainsKey(@"Domain\Different.User"));
            auth = authFile.Authors[@"Domain\Different.User"];
            Assert.Equal <string>("Three Name User", auth.Name);
            Assert.Equal <string>(" [email protected] ", auth.Email);
        }
Example #24
0
        public void AuthorsFileFindAuthors()
        {
            string[] authors =
            {
                @"Domain\Test.User = Test User <*****@*****.**>",
                @"Domain\Different.User = Three Name User < *****@*****.** >",
                @"Domain\Yet.Another.User = Mr. 3 <*****@*****.**>"
            };

            AuthorsFile authFile = _SetupAuthorsFile(authors);

            // find existing author
            Tuple <string, string> gitAuthor = new Tuple <string, string>("Test User", "*****@*****.**");
            Author existingAuthor            = authFile.FindAuthor(gitAuthor);

            Assert.NotNull(existingAuthor);

            // try to find unknown author
            Tuple <string, string> gitUnknownAuthor = new Tuple <string, string>("Test User", "*****@*****.**");
            Author unknownAuthor = authFile.FindAuthor(gitUnknownAuthor);

            Assert.Null(unknownAuthor);
        }
Example #25
0
        public void AuthorsFileMultipleUsers()
        {
            string[] authors =
            {
                @"Domain\Test.User = Test User <*****@*****.**>",
                @"Domain\Different.User = Three Name User < *****@*****.** >",
                @"Domain\Yet.Another.User = Mr. 3 <*****@*****.**>"
            };

            AuthorsFile authFile = _SetupAuthorsFile(authors);

            Assert.Equal <int>(authors.Length, authFile.Authors.Count);
            Assert.Equal <int>(authors.Length, authFile.AuthorsByGitUserId.Count);

            // contains all tfs users
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Test.User"));
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Different.User"));
            Assert.True(authFile.Authors.ContainsKey(@"Domain\Yet.Another.User"));

            // contains all git users
            Assert.True(authFile.AuthorsByGitUserId.ContainsKey(Author.BuildGitUserId("*****@*****.**")));
            Assert.True(authFile.AuthorsByGitUserId.ContainsKey(Author.BuildGitUserId("*****@*****.**")));
            Assert.True(authFile.AuthorsByGitUserId.ContainsKey(Author.BuildGitUserId("*****@*****.**")));
        }
Example #26
0
 public Labels(TextWriter stdout, Globals globals, AuthorsFile authors)
 {
     this._stdout  = stdout;
     this._globals = globals;
     this._authors = authors;
 }
Example #27
0
 public QuickFetch(Globals globals, RemoteOptions remoteOptions, AuthorsFile authors) : base(globals, remoteOptions, authors, null)
 {
 }
Example #28
0
 public Labels(Globals globals, AuthorsFile authors)
 {
     _globals = globals;
     _authors = authors;
 }
Example #29
0
 public QuickFetch(Globals globals, ConfigProperties properties, RemoteOptions remoteOptions, AuthorsFile authors)
     : base(globals, properties, remoteOptions, authors, null)
 {
     _properties = properties;
 }
Example #30
0
 public InitBranch(Globals globals, Help helper, AuthorsFile authors)
 {
     _globals = globals;
     _helper  = helper;
 }