示例#1
0
        static async void MainAsync(string[] args)
        {
            //Take command line parameters as input
            CommandLineInputParser options = new CommandLineInputParser();

            //Check that all the parameters are present, if not exit
            if (!Parser.Default.ParseArguments(args, options))
            {
                Console.ReadLine();
                Environment.Exit(Parser.DefaultExitCodeFail);
            }

            //Determine if tagName is in the correct format (vd.dd.dd)
            //If format passes, continue to ReleaseAutomator
            //If format does not pass, exit
            if (TagNameFormat.IsValid(options.tagName))
            {
                //Initialize the ReleaseAutomator
                //ReleaseAutomator takes in the command line parameters and completes the repo release
                ReleaseAutomator releaseAutomator = new ReleaseAutomator();
                await releaseAutomator.AsyncReleaseMethod(options.gitHubAccountName, options.repoName, options.tagName, options.personalAccessToken);
            }
            else
            {
                Console.WriteLine("Tag name format invalid: " + options.tagName + "\nUse Semantic Versioning (vd.dd.dd).");
            }
            Console.ReadLine();
        }
示例#2
0
        public void TagNameFormatCorrectTest()
        {
            bool actual = TagNameFormat.IsValid("v1.11.11");

            Assert.AreEqual(true, actual);
        }
示例#3
0
        public void TagNameFormatIncorrectWithTooManyDigitsTest()
        {
            bool actual = TagNameFormat.IsValid("v1.1111.1111");

            Assert.AreEqual(false, actual);
        }
示例#4
0
        public void TagNameFormatCorrectWithThreeEndDigits()
        {
            bool actual = TagNameFormat.IsValid("v1.11.222");

            Assert.AreEqual(true, actual);
        }
示例#5
0
        public void TagNameFormatCorrectWithOneAndTwoDigits()
        {
            bool actual = TagNameFormat.IsValid("v1.2.33");

            Assert.AreEqual(true, actual);
        }
示例#6
0
        public void TagNameFormatInCorrectWithMissingDigits()
        {
            bool actual = TagNameFormat.IsValid("V1.11.");

            Assert.AreEqual(false, actual);
        }
示例#7
0
        public void TagNameFormatInCorrectWithRandomName()
        {
            bool actual = TagNameFormat.IsValid("Hello");

            Assert.AreEqual(false, actual);
        }
示例#8
0
        public void TagNameFormatInCorrectWithNullValue()
        {
            bool actual = TagNameFormat.IsValid(null);

            Assert.AreEqual(false, actual);
        }
示例#9
0
        public void TagNameFormatInCorrectWithSpecialCharacters()
        {
            bool actual = TagNameFormat.IsValid("v#.!@.#$");

            Assert.AreEqual(false, actual);
        }
示例#10
0
        public void TagNameFormatInCorrectWithUpperCaseFirstLetterTest()
        {
            bool actual = TagNameFormat.IsValid("V1.11.11");

            Assert.AreEqual(false, actual);
        }
示例#11
0
        public void TagNameFormatTagMissingTest()
        {
            bool actual = TagNameFormat.IsValid("");

            Assert.AreEqual(false, actual);
        }
示例#12
0
        public void TagNameFormatIncorrectWithDotDot()
        {
            bool actual = TagNameFormat.IsValid("v1..");

            Assert.AreEqual(false, actual);
        }
示例#13
0
        public void TagNameFormatIncorrectWrongInitialLetterTest()
        {
            bool actual = TagNameFormat.IsValid("b1.11.11");

            Assert.AreEqual(false, actual);
        }
示例#14
0
        public void TagNameFormatCorrectWithRandomDigitLenghtUpToThree()
        {
            bool actual = TagNameFormat.IsValid("v1.2.25");

            Assert.AreEqual(true, actual);
        }
示例#15
0
        public void TagNameFormatCorrectWithSingleDigitsTest()
        {
            bool actual = TagNameFormat.IsValid("v1.1.1");

            Assert.AreEqual(true, actual);
        }