Skip to content

Commit b12a450

Browse files
committed
Merge pull request #7 from browserstack/daemon_mode
Daemon mode
2 parents 4bb2ed7 + d38d392 commit b12a450

File tree

11 files changed

+62
-279
lines changed

11 files changed

+62
-279
lines changed

BrowserStackLocal.0.1.0.0.nupkg

-10.9 KB
Binary file not shown.

BrowserStackLocal.0.2.0.0.nupkg

9.63 KB
Binary file not shown.

BrowserStackLocal/BrowserStackLocal Unit Tests/LocalTests.cs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void TestThrowsWithNoAccessKey()
3838
local = new LocalClass();
3939

4040
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
41-
tunnelMock.Setup(mock => mock.Run("", "", logAbsolute));
41+
tunnelMock.Setup(mock => mock.Run("", "", logAbsolute, "start"));
4242
local.setTunnel(tunnelMock.Object);
4343

4444
Assert.Throws(typeof(Exception),
@@ -58,7 +58,7 @@ public void TestWorksWithAccessKeyInOptions()
5858
Assert.DoesNotThrow(new TestDelegate(startWithOptions),
5959
"BROWSERSTACK_ACCESS_KEY cannot be empty. Specify one by adding key to options or adding to the environment variable BROWSERSTACK_KEY.");
6060
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
61-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
61+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
6262
local.stop();
6363
}
6464

@@ -69,12 +69,12 @@ public void TestWorksWithAccessKeyNotInOptions()
6969
options = new List<KeyValuePair<string, string>>();
7070
local = new LocalClass();
7171
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
72-
tunnelMock.Setup(mock => mock.Run("envDummyKey", "", logAbsolute));
72+
tunnelMock.Setup(mock => mock.Run("envDummyKey", "", logAbsolute, "start"));
7373
local.setTunnel(tunnelMock.Object);
7474
Assert.DoesNotThrow(new TestDelegate(startWithOptions),
7575
"BROWSERSTACK_ACCESS_KEY cannot be empty. Specify one by adding key to options or adding to the environment variable BROWSERSTACK_KEY.");
7676
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
77-
tunnelMock.Verify(mock => mock.Run("envDummyKey", "", logAbsolute), Times.Once());
77+
tunnelMock.Verify(mock => mock.Run("envDummyKey", "", logAbsolute, "start"), Times.Once());
7878
local.stop();
7979
}
8080

@@ -87,11 +87,11 @@ public void TestWorksForFolderTesting()
8787

8888
local = new LocalClass();
8989
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
90-
tunnelMock.Setup(mock => mock.Run("dummyKey", "dummyFolderPath", logAbsolute));
90+
tunnelMock.Setup(mock => mock.Run("dummyKey", "dummyFolderPath", logAbsolute, "start"));
9191
local.setTunnel(tunnelMock.Object);
9292
local.start(options);
9393
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
94-
tunnelMock.Verify(mock => mock.Run("dummyKey", "dummyFolderPath", logAbsolute), Times.Once());
94+
tunnelMock.Verify(mock => mock.Run("dummyKey", "dummyFolderPath", logAbsolute, "start"), Times.Once());
9595
local.stop();
9696
}
9797

@@ -104,12 +104,12 @@ public void TestWorksForBinaryPath()
104104

105105
local = new LocalClass();
106106
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
107-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute));
107+
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute, "start"));
108108
local.setTunnel(tunnelMock.Object);
109109
local.start(options);
110110
tunnelMock.Verify(mock => mock.addBinaryPath("dummyPath"), Times.Once);
111111
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
112-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
112+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
113113
local.stop();
114114
}
115115

@@ -126,12 +126,12 @@ public void TestWorksWithBooleanOptions()
126126

127127
local = new LocalClass();
128128
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
129-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute));
129+
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute, "start"));
130130
local.setTunnel(tunnelMock.Object);
131131
local.start(options);
132132
tunnelMock.Verify(mock => mock.addBinaryPath(""), Times.Once);
133133
tunnelMock.Verify(mock => mock.addBinaryArguments(It.IsRegex("-vvv.*-force.*-forcelocal.*-forceproxy.*-onlyAutomate")), Times.Once());
134-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
134+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
135135
local.stop();
136136
}
137137

@@ -149,14 +149,14 @@ public void TestWorksWithValueOptions()
149149

150150
local = new LocalClass();
151151
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
152-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute));
152+
tunnelMock.Setup(mock =>mock.Run("dummyKey", "", logAbsolute, "start"));
153153
local.setTunnel(tunnelMock.Object);
154154
local.start(options);
155155
tunnelMock.Verify(mock => mock.addBinaryPath(""), Times.Once);
156156
tunnelMock.Verify(mock => mock.addBinaryArguments(
157157
It.IsRegex("-localIdentifier.*dummyIdentifier.*dummyHost.*-proxyHost.*dummyHost.*-proxyPort.*dummyPort.*-proxyUser.*dummyUser.*-proxyPass.*dummyPass")
158158
), Times.Once());
159-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
159+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
160160
local.stop();
161161
}
162162

@@ -172,14 +172,14 @@ public void TestWorksWithCustomOptions()
172172

173173
local = new LocalClass();
174174
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
175-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute));
175+
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute, "start"));
176176
local.setTunnel(tunnelMock.Object);
177177
local.start(options);
178178
tunnelMock.Verify(mock => mock.addBinaryPath(""), Times.Once);
179179
tunnelMock.Verify(mock => mock.addBinaryArguments(
180180
It.IsRegex("-customBoolKey1.*-customBoolKey2.*-customKey1.*customValue1.*-customKey2.*customValue2")
181181
), Times.Once());
182-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
182+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
183183
local.stop();
184184
}
185185

@@ -192,7 +192,7 @@ public void TestCallsFallbackOnFailure()
192192
local = new LocalClass();
193193
int count = 0;
194194
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
195-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute)).Callback(() =>
195+
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute, "start")).Callback(() =>
196196
{
197197
count++;
198198
if (count == 1)
@@ -202,7 +202,7 @@ public void TestCallsFallbackOnFailure()
202202
local.start(options);
203203
tunnelMock.Verify(mock => mock.addBinaryPath(""), Times.Once);
204204
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
205-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Exactly(2));
205+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Exactly(2));
206206
tunnelMock.Verify(mock => mock.fallbackPaths(), Times.Once());
207207
local.stop();
208208
}
@@ -215,14 +215,13 @@ public void TestKillsTunnel()
215215

216216
local = new LocalClass();
217217
Mock<BrowserStackTunnel> tunnelMock = new Mock<BrowserStackTunnel>();
218-
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute));
218+
tunnelMock.Setup(mock => mock.Run("dummyKey", "", logAbsolute, "start"));
219219
local.setTunnel(tunnelMock.Object);
220220
local.start(options);
221221
local.stop();
222222
tunnelMock.Verify(mock => mock.addBinaryPath(""), Times.Once);
223223
tunnelMock.Verify(mock => mock.addBinaryArguments("-logFile " + logAbsolute), Times.Once());
224-
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute), Times.Once());
225-
tunnelMock.Verify(mock => mock.Kill(), Times.Once());
224+
tunnelMock.Verify(mock => mock.Run("dummyKey", "", logAbsolute, "start"), Times.Once());
226225
}
227226

228227
public void startWithOptions()

BrowserStackLocal/BrowserStackLocal/BrowserStackLocal.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
<HintPath>..\packages\log4net.2.0.5\lib\net45-full\log4net.dll</HintPath>
3636
<Private>True</Private>
3737
</Reference>
38+
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
39+
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
40+
<Private>True</Private>
41+
</Reference>
3842
<Reference Include="nunit.framework, Version=3.0.5813.39031, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
3943
<HintPath>..\packages\NUnit.3.0.1\lib\net45\nunit.framework.dll</HintPath>
4044
<Private>True</Private>
@@ -51,7 +55,6 @@
5155
<ItemGroup>
5256
<Compile Include="BrowserStackTunnel.cs" />
5357
<Compile Include="Local.cs" />
54-
<Compile Include="Job.cs" />
5558
<Compile Include="Properties\AssemblyInfo.cs" />
5659
</ItemGroup>
5760
<ItemGroup>
@@ -68,4 +71,4 @@
6871
<Target Name="AfterBuild">
6972
</Target>
7073
-->
71-
</Project>
74+
</Project>

0 commit comments

Comments
 (0)