public void GetVersionTestDateTime()
        {
            // Initialise Instance
            var target = new TfsVersion {
                Action = TfsVersionAction.GetVersion, PaddingCount = 5, PaddingDigit = '1', DateFormat = "MMdd", Delimiter = "."
            };

            // Declare additional parameters
            var parameters = new Dictionary <string, object>
            {
                { "Major", "1" },
                { "Minor", "5" },
            };

            // Create a WorkflowInvoker and add the IBuildDetail Extension
            WorkflowInvoker invoker = new WorkflowInvoker(target);
            IBuildDetail    t       = new MockIBuildDetail {
                BuildNumber = "MyBuild_20101101.2"
            };

            t.BuildDefinition.Name = "MyBuild";
            invoker.Extensions.Add(t);

            var actual = invoker.Invoke(parameters);

            // Test the result
            Assert.AreEqual("1.5.11101.2", actual["Version"].ToString());
        }
        public void GetVersionTestElapsed()
        {
            // Initialise Instance
            var target = new TfsVersion {
                Action = TfsVersionAction.GetVersion, VersionTemplateFormat = "0.0.1000.0", StartDate = Convert.ToDateTime("1 Mar 2009"), VersionFormat = TfsVersionVersionFormat.Elapsed, UseUtcDate = true
            };

            // Declare additional parameters
            var parameters = new Dictionary <string, object>
            {
                { "Major", "3" },
                { "Minor", "1" },
            };

            // Create a WorkflowInvoker and add the IBuildDetail Extension
            WorkflowInvoker invoker = new WorkflowInvoker(target);
            IBuildDetail    t       = new MockIBuildDetail {
                BuildNumber = "MyBuild_" + DateTime.Now.ToString("yyyyMMdd") + ".2"
            };

            t.BuildDefinition.Name = "MyBuild";
            invoker.Extensions.Add(t);

            var actual = invoker.Invoke(parameters);

            // Test the result
            DateTime d    = Convert.ToDateTime("1 Mar 2009");
            TimeSpan ts   = DateTime.Now - d;
            string   days = ts.Days.ToString();

            Assert.AreEqual("3.1.1" + days + ".2", actual["Version"].ToString());
        }
        public void SetVersionTestIncludingAssemblyVersion()
        {
            // Initialise Instance
            var target = new TfsVersion {
                Action = TfsVersionAction.SetVersion, TextEncoding = "UTF8", SetAssemblyVersion = true, ForceSetVersion = true
            };

            // Create a temp file and write some dummy attribute to it
            FileInfo f = new FileInfo(System.IO.Path.GetTempFileName());

            File.WriteAllLines(f.FullName, new[] { "[assembly:AssemblyFileVersion(\"1.0.0.0\")]", "[assembly:AssemblyVersion(\"1.0.0.0\")]" });

            // Declare additional parameters
            var parameters = new Dictionary <string, object>
            {
                { "Version", "1.0.0.1" },
                { "Files", new[] { f.FullName } },
            };

            // Invoke the Workflow
            WorkflowInvoker.Invoke(target, parameters);

            // read the updated file back.
            using (System.IO.StreamReader file = new System.IO.StreamReader(f.FullName))
            {
                // Test the result
                Assert.AreEqual("[assembly:AssemblyFileVersion(\"1.0.0.1\")]", file.ReadLine());
                Assert.AreEqual("[assembly:AssemblyVersion(\"1.0.0.1\")]", file.ReadLine());
            }
        }
Example #4
0
        /// <summary>Initializes a new instance of the <see cref="BuildServerAdapter"/> class.</summary>
        /// <param name="buildServer">The build server.</param>
        /// <param name="removeServerCommand">The remove server command.</param>
        public BuildServerAdapter(BuildServer buildServer, ICommand removeServerCommand)
        {
            detailBuildUrl   = buildServer.DetailBuildUrl;
            domainName       = buildServer.DomainName;
            login            = buildServer.Login;
            passwordBytes    = buildServer.PasswordBytes;
            serverName       = buildServer.ServerName;
            tfsVersion       = buildServer.TfsVersion;
            url              = buildServer.Url;
            BuildDefinitions = new List <BuildDefinition>(buildServer.BuildDefinitions);

            TfsConnectCommand   = new TfsConnectCommand(this, crypter);
            RemoveServerCommand = removeServerCommand;

            ProjectNames = new ObservableCollection <string>();

            BuildDefinitionResults = new ObservableCollection <BuildDefinitionResult>();
            CollectionViewSourceBuildDefinitions = new CollectionViewSource {
                Source = BuildDefinitionResults
            };
            CollectionViewSourceBuildDefinitions.Filter += CollectionViewSourceBuildDefinitions_Filter;

            if (buildServer.BuildDefinitions.Any())
            {
                OnlySelected = true;
            }

            if (TfsConnectCommand.CanExecute(null))
            {
                TfsConnectCommand.Execute(null);
            }
        }
Example #5
0
        public MainWindow()
        {
            InitializeComponent();
            LogUtils.ConfigureLog4NetForPluginMode(false);

            _tfsVersion         = Helpers.GetInstalledTfsVersion();
            lbl_Version.Content = $"ver {Assembly.GetExecutingAssembly().GetName().Version.ToString(3)}";
            switch (_tfsVersion)
            {
            case TfsVersion.Tfs2015:
                Set2015FieldsVisibility(Visibility.Visible);
                break;

            case TfsVersion.Tfs2017:
                Set2017FieldsVisibility(Visibility.Visible);
                break;

            case TfsVersion.NotDefined:
                break;

            default:
                Set2017FieldsVisibility(Visibility.Visible);
                break;
            }

            try
            {
                Helper.CheckedConnection = false;

                TfsLocation.Text = ConnectionCreator.GetTfsLocationFromHostName();
                if (!ConfigurationManager.ConfigurationExists())
                {
                    return;
                }

                var connectionDetails = ConfigurationManager.Read(false);

                Location.Text          = connectionDetails.ALMOctaneUrl;
                ClientId.Text          = connectionDetails.ClientId;
                ClientSecret.Password  = connectionDetails.ClientSecret;
                TfsLocation.Text       = connectionDetails.TfsLocation;
                Pat.Password           = connectionDetails.Pat;
                _instanceId            = connectionDetails.InstanceId;
                PasswordInput.Password = connectionDetails.Password;
                UsernameInput.Text     = connectionDetails.Pat;
            }
            catch (Exception ex)
            {
                Log.Warn("Could not parse existing configuration file", ex);
            }
        }
        /// <summary>Creates the build explorer.</summary>
        /// <param name="tfsVersion">The TFS version.</param>
        /// <returns>The <see cref="IBuildExplorer"/>.</returns>
        /// <exception cref="InvalidEnumArgumentException">If <paramref name="tfsVersion"/> is invalid.</exception>
        public static IBuildExplorer CreateBuildExplorer(TfsVersion tfsVersion)
        {
            switch (tfsVersion)
            {
            case TfsVersion.Version2013:
                return(new Tfs2013Explorer());

            case TfsVersion.Version2015:
                return(new Tfs2015Explorer());

            default:
                throw new InvalidEnumArgumentException("tfsVersion", (int)tfsVersion, typeof(TfsVersion));
            }
        }