Skip to content

Commit d4f3fe1

Browse files
committed
Wrap Quartz.NET scheduler in new EngineScheduler
1 parent ec9ff93 commit d4f3fe1

File tree

12 files changed

+560
-63
lines changed

12 files changed

+560
-63
lines changed

.nuget/packages.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="NUnit.Runners" version="2.6.4" />
4+
</packages>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using IntegrationEngine;
2+
using IntegrationEngine.Api.Controllers;
3+
using IntegrationEngine.Model;
4+
using Moq;
5+
using NUnit.Framework;
6+
7+
namespace IntegrationEngine.Tests.Api.Controllers
8+
{
9+
public class CronTriggerControllerTest
10+
{
11+
[Test]
12+
public void ShouldScheduleJobWhenCronTriggerIsCreated()
13+
{
14+
var subject = new CronTriggerController();
15+
var cronExpression = "0 6 * * 1-5";
16+
var jobType = "MyProject.MyIntegrationJob";
17+
var expected = new CronTrigger() {
18+
JobType = jobType,
19+
CronExpressionString = cronExpression
20+
};
21+
var engineScheduler = new Mock<IEngineScheduler>();
22+
engineScheduler.Setup(x => x.ScheduleJobWithCronTrigger(expected));
23+
subject.EngineScheduler = engineScheduler.Object;
24+
25+
subject.PostIntegrationJob(expected);
26+
27+
engineScheduler.Verify(x => x
28+
.ScheduleJobWithCronTrigger(It.Is<CronTrigger>(y => y.JobType == jobType &&
29+
y.CronExpressionString == cronExpression)),
30+
Times.Once);
31+
}
32+
}
33+
}

IntegrationEngine.Tests/EngineHostConfigurationTest.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
using System;
2-
using Microsoft.VisualStudio.TestTools.UnitTesting;
1+
using NUnit.Framework;
2+
using System;
33

44
namespace IntegrationEngine.Tests
55
{
6-
[TestClass]
76
public class EngineHostConfigurationTest
87
{
9-
[TestMethod]
8+
[Test]
109
public void CanLoadConfiguration()
1110
{
1211
var subject = new EngineHostConfiguration();

IntegrationEngine.Tests/IntegrationEngine.Tests.csproj

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,38 @@
3737
<WarningLevel>4</WarningLevel>
3838
</PropertyGroup>
3939
<ItemGroup>
40+
<Reference Include="Common.Logging, Version=2.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
41+
<SpecificVersion>False</SpecificVersion>
42+
<HintPath>..\packages\Common.Logging.2.3.1\lib\net40\Common.Logging.dll</HintPath>
43+
</Reference>
4044
<Reference Include="fx.configuration, Version=0.4.0.0, Culture=neutral, PublicKeyToken=d6b5ff1ed8812a28, processorArchitecture=MSIL">
4145
<SpecificVersion>False</SpecificVersion>
4246
<HintPath>..\packages\fx.configuration.0.4.0\lib\net45\fx.configuration.dll</HintPath>
4347
</Reference>
44-
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
4548
<Reference Include="Moq">
4649
<HintPath>..\packages\Moq.4.2.1409.1722\lib\net40\Moq.dll</HintPath>
4750
</Reference>
4851
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
4952
<SpecificVersion>False</SpecificVersion>
5053
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
5154
</Reference>
55+
<Reference Include="nunit.framework">
56+
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
57+
</Reference>
58+
<Reference Include="Quartz, Version=2.3.0.18, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
59+
<SpecificVersion>False</SpecificVersion>
60+
<HintPath>..\packages\Quartz.2.3\lib\net40\Quartz.dll</HintPath>
61+
</Reference>
5262
<Reference Include="System" />
63+
<Reference Include="System.Net.Http" />
64+
<Reference Include="System.Net.Http.Formatting, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
65+
<SpecificVersion>False</SpecificVersion>
66+
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll</HintPath>
67+
</Reference>
68+
<Reference Include="System.Web.Http, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
69+
<SpecificVersion>False</SpecificVersion>
70+
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.2\lib\net45\System.Web.Http.dll</HintPath>
71+
</Reference>
5372
</ItemGroup>
5473
<Choose>
5574
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
@@ -60,6 +79,7 @@
6079
<Otherwise />
6180
</Choose>
6281
<ItemGroup>
82+
<Compile Include="Api\Controllers\CronTriggerControllerTest.cs" />
6383
<Compile Include="Properties\AssemblyInfo.cs" />
6484
<Compile Include="EngineHostConfigurationTest.cs" />
6585
</ItemGroup>
@@ -69,9 +89,16 @@
6989
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
7090
</None>
7191
<None Include="app.config" />
92+
<None Include="job_scheduling_data_2_0.xsd">
93+
<SubType>Designer</SubType>
94+
</None>
7295
<None Include="packages.config" />
7396
</ItemGroup>
7497
<ItemGroup>
98+
<ProjectReference Include="..\IntegrationEngine.Model\IntegrationEngine.Model.csproj">
99+
<Project>{0b499fe4-0bdb-4080-bcb7-f8d4ce54a4ff}</Project>
100+
<Name>IntegrationEngine.Model</Name>
101+
</ProjectReference>
75102
<ProjectReference Include="..\IntegrationEngine\IntegrationEngine.csproj">
76103
<Project>{7d49353d-a68c-4aca-a6a5-40b1c314c30e}</Project>
77104
<Name>IntegrationEngine</Name>

0 commit comments

Comments
 (0)