Skip to content

Commit

Permalink
Fixed client arguments not being read from config
Browse files Browse the repository at this point in the history
  • Loading branch information
SparrowBrain committed Sep 15, 2024
1 parent c03c2b6 commit f7aeab6
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 10 deletions.
9 changes: 5 additions & 4 deletions BuddySave.UnitTests/Core/ClientSessionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class ClientSessionTests
[Theory]
[InlineAutoMoqData("")]
[InlineAutoMoqData((string)null)]
public void RunClient_ThrowsArgumentException_WhenClientPathIsNull(
public void StartClient_ThrowsArgumentException_WhenClientPathIsNull(
string path,
Session session,
ClientParameters clientParameters,
Expand All @@ -25,7 +25,7 @@ public void RunClient_ThrowsArgumentException_WhenClientPathIsNull(
clientParameters.Path = path;

// Act
var exception = Record.Exception(() => sut.RunClient(session, clientParameters));
var exception = Record.Exception(() => sut.StartClient(session, clientParameters));

// Assert
Assert.NotNull(exception);
Expand All @@ -35,17 +35,18 @@ public void RunClient_ThrowsArgumentException_WhenClientPathIsNull(

[Theory]
[AutoMoqData]
public void RunClient_StartsClient(
public void StartClient_StartsClient(
[Frozen] Mock<IProcessProvider> processProviderMock,
Session session,
ClientParameters clientParameters,
ClientSession sut)
{
// Arrange
clientParameters.Arguments = "+connect {{Ip}}:{{Port}}";
var expectedArguments = $"+connect {session.Ip}:{session.Port}";

// Act
sut.RunClient(session, clientParameters);
sut.StartClient(session, clientParameters);

// Assert
processProviderMock.Verify(
Expand Down
4 changes: 2 additions & 2 deletions BuddySave.UnitTests/Core/GamingSessionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public async Task Play_StartsClient_WhenLockExists(
await sut.Play(gameSave, ourSession, serverParameters, clientParameters);

// Assert
clientSessionMock.Verify(x => x.RunClient(lockSession, clientParameters), Times.Once());
clientSessionMock.Verify(x => x.StartClient(lockSession, clientParameters), Times.Once());
}

[Theory]
Expand All @@ -54,7 +54,7 @@ public async Task Play_StartsServerAndClient_WhenLockDoesNotExist(
// Assert
serverSessionMock.Verify(x => x.RunServerWithAutoSave(gameSave, session, serverParameters), Times.Once());
clientSessionMock.Verify(
x => x.RunClient(It.Is<Session>(s => s.Ip == "127.0.0.1" && s.Port == session.Port), clientParameters),
x => x.StartClient(It.Is<Session>(s => s.Ip == "127.0.0.1" && s.Port == session.Port), clientParameters),
Times.Once());
}
}
4 changes: 2 additions & 2 deletions BuddySave/Core/ClientSession.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ namespace BuddySave.Core;

public class ClientSession(IProcessProvider processProvider, ILogger<ClientSession> logger) : IClientSession
{
public void RunClient(Session session, ClientParameters clientParameters)
public void StartClient(Session session, ClientParameters clientParameters)
{
if (string.IsNullOrEmpty(clientParameters.Path))
{
throw new ArgumentException("No client path provided. Cannot start a client session.");
}

var arguments = $"+connect {session.Ip}:{session.Port}";
var arguments = clientParameters.Arguments.Replace("{{Ip}}", session.Ip).Replace("{{Port}}", session.Port);
var startInfo = new ProcessStartInfo
{
FileName = $"{clientParameters.Path} {arguments}",
Expand Down
2 changes: 1 addition & 1 deletion BuddySave/Core/GamingSession.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public async Task Play(GameSave gameSave, Session session, ServerParameters serv
serverTask = serverSession.RunServerWithAutoSave(gameSave, session, serverParameters);
}

clientSession.RunClient(sessionToConnectTo, clientParameters);
clientSession.StartClient(sessionToConnectTo, clientParameters);

await serverTask;
}
Expand Down
2 changes: 1 addition & 1 deletion BuddySave/Core/IClientSession.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ namespace BuddySave.Core;

public interface IClientSession
{
void RunClient(Session session, ClientParameters clientParameters);
void StartClient(Session session, ClientParameters clientParameters);
}

0 comments on commit f7aeab6

Please sign in to comment.