From c09c6dab9ad635a506ba569bc574f8aa02747a0e Mon Sep 17 00:00:00 2001 From: Thomas Cortes <78750681+Toa741@users.noreply.github.com> Date: Thu, 4 Jul 2024 16:05:18 -0400 Subject: [PATCH] Fix Runners active state in Mocks (#712) * Fix Runners active state in Mocks * Fixes --- NGitLab.Mock/Clients/RunnerClient.cs | 6 ++---- NGitLab.Mock/RunnersExtensions.cs | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 NGitLab.Mock/RunnersExtensions.cs diff --git a/NGitLab.Mock/Clients/RunnerClient.cs b/NGitLab.Mock/Clients/RunnerClient.cs index 15bc3979..ea4b4382 100644 --- a/NGitLab.Mock/Clients/RunnerClient.cs +++ b/NGitLab.Mock/Clients/RunnerClient.cs @@ -94,7 +94,7 @@ public Models.Runner Update(int runnerId, RunnerUpdate runnerUpdate) var runner = this[runnerId] ?? throw new GitLabNotFoundException(); var runnerOnServer = GetServerRunner(runnerId); - runnerOnServer.Active = runnerUpdate.Active ?? runnerOnServer.Active; + runnerOnServer.Active = runnerUpdate.IsActive() ?? runnerOnServer.IsActive(); runnerOnServer.Paused = runnerUpdate.Paused ?? runnerOnServer.Paused; runnerOnServer.TagList = runnerUpdate.TagList ?? runnerOnServer.TagList; runnerOnServer.Description = !string.IsNullOrEmpty(runnerUpdate.Description) ? runnerUpdate.Description : runnerOnServer.Description; @@ -217,9 +217,7 @@ public Models.Runner Register(RunnerRegister request) var project = Server.AllProjects.SingleOrDefault(p => string.Equals(p.RunnersToken, request.Token, StringComparison.Ordinal)); if (project != null) { -#pragma warning disable CS0618 // Type or member is obsolete - var runner = project.AddRunner(null, request.Description, request.Active ?? false, request.Locked ?? true, false, request.RunUntagged ?? false); -#pragma warning restore CS0618 // Type or member is obsolete + var runner = project.AddRunner(null, request.Description, request.IsActive() ?? true, request.Locked ?? true, false, request.RunUntagged ?? false); return runner.ToClientRunner(Context.User); } diff --git a/NGitLab.Mock/RunnersExtensions.cs b/NGitLab.Mock/RunnersExtensions.cs new file mode 100644 index 00000000..7564cc94 --- /dev/null +++ b/NGitLab.Mock/RunnersExtensions.cs @@ -0,0 +1,27 @@ +using NGitLab.Models; + +namespace NGitLab.Mock; + +internal static class RunnersExtensions +{ + public static bool? IsActive(this RunnerRegister runner) + { +#pragma warning disable CS0618 // Type or member is obsolete + return runner.Active ?? !runner.Paused; +#pragma warning restore CS0618 // Type or member is obsolete + } + + public static bool? IsActive(this RunnerUpdate runner) + { +#pragma warning disable CS0618 // Type or member is obsolete + return runner.Active ?? !runner.Paused; +#pragma warning restore CS0618 // Type or member is obsolete + } + + public static bool IsActive(this Runner runner) + { +#pragma warning disable CS0618 // Type or member is obsolete + return runner.Active || !runner.Paused; +#pragma warning restore CS0618 // Type or member is obsolete + } +}