mirror of https://github.com/winsw/winsw
Unit tests for PR #47 and minor refactoring
Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>pull/53/head
parent
9a09af2c17
commit
a2f4c7fc5b
|
@ -1,3 +1,6 @@
|
|||
bin
|
||||
obj
|
||||
*.suo
|
||||
/UpgradeLog.htm
|
||||
/winsw.csproj.DotSettings.user
|
||||
/winsw.csproj.user
|
||||
|
|
|
@ -163,6 +163,22 @@ namespace winsw
|
|||
private string pattern;
|
||||
private int period;
|
||||
|
||||
public string Pattern
|
||||
{
|
||||
get
|
||||
{
|
||||
return pattern;
|
||||
}
|
||||
}
|
||||
|
||||
public int Period
|
||||
{
|
||||
get
|
||||
{
|
||||
return period;
|
||||
}
|
||||
}
|
||||
|
||||
public TimeBasedRollingLogAppender(string logDirectory, string baseName, string pattern, int period)
|
||||
: base(logDirectory, baseName)
|
||||
{
|
||||
|
@ -241,6 +257,22 @@ namespace winsw
|
|||
private int sizeThreshold;
|
||||
private int filesToKeep;
|
||||
|
||||
public int SizeTheshold
|
||||
{
|
||||
get
|
||||
{
|
||||
return sizeThreshold;
|
||||
}
|
||||
}
|
||||
|
||||
public int FilesToKeep
|
||||
{
|
||||
get
|
||||
{
|
||||
return filesToKeep;
|
||||
}
|
||||
}
|
||||
|
||||
public SizeBasedRollingLogAppender(string logDirectory, string baseName, int sizeThreshold, int filesToKeep)
|
||||
: base(logDirectory, baseName)
|
||||
{
|
||||
|
|
|
@ -53,10 +53,8 @@ namespace winsw
|
|||
|
||||
return process.HasExited;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ using System.Xml;
|
|||
|
||||
namespace winswTests
|
||||
{
|
||||
using System;
|
||||
|
||||
[TestFixture]
|
||||
public class ServiceDescriptorTests
|
||||
{
|
||||
|
@ -72,5 +74,84 @@ namespace winswTests
|
|||
sd = ServiceDescriptor.FromXML("<service><id>test</id></service>");
|
||||
Assert.That(sd.Priority, Is.EqualTo(ProcessPriorityClass.Normal));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void StopParentProcessFirstIsFalseByDefault()
|
||||
{
|
||||
Assert.False(extendedServiceDescriptor.StopParentProcessFirst);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanParseStopParentProcessFirst()
|
||||
{
|
||||
const string SeedXml = "<service>"
|
||||
+ "<stopparentprocessfirst>true</stopparentprocessfirst>"
|
||||
+ "</service>";
|
||||
var serviceDescriptor = ServiceDescriptor.FromXML(SeedXml);
|
||||
|
||||
Assert.True(serviceDescriptor.StopParentProcessFirst);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanParseStopTimeout()
|
||||
{
|
||||
const string SeedXml = "<service>"
|
||||
+ "<stoptimeout>60sec</stoptimeout>"
|
||||
+ "</service>";
|
||||
var serviceDescriptor = ServiceDescriptor.FromXML(SeedXml);
|
||||
|
||||
Assert.That(serviceDescriptor.StopTimeout, Is.EqualTo(TimeSpan.FromSeconds(60)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CanParseStopTimeoutFromMinutes()
|
||||
{
|
||||
const string SeedXml = "<service>"
|
||||
+ "<stoptimeout>10min</stoptimeout>"
|
||||
+ "</service>";
|
||||
var serviceDescriptor = ServiceDescriptor.FromXML(SeedXml);
|
||||
|
||||
Assert.That(serviceDescriptor.StopTimeout, Is.EqualTo(TimeSpan.FromMinutes(10)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LogModeRollBySize()
|
||||
{
|
||||
const string SeedXml = "<service>"
|
||||
+ "<logpath>c:\\</logpath>"
|
||||
+ "<log mode=\"roll-by-size\">"
|
||||
+ "<sizeThreshold>112</sizeThreshold>"
|
||||
+ "<keepFiles>113</keepFiles>"
|
||||
+ "</log>"
|
||||
+ "</service>";
|
||||
|
||||
var serviceDescriptor = ServiceDescriptor.FromXML(SeedXml);
|
||||
serviceDescriptor.BaseName = "service";
|
||||
|
||||
var logHandler = serviceDescriptor.LogHandler as SizeBasedRollingLogAppender;
|
||||
Assert.NotNull(logHandler);
|
||||
Assert.That(logHandler.SizeTheshold, Is.EqualTo(112 * 1024));
|
||||
Assert.That(logHandler.FilesToKeep, Is.EqualTo(113));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LogModeRollByTime()
|
||||
{
|
||||
const string SeedXml = "<service>"
|
||||
+ "<logpath>c:\\</logpath>"
|
||||
+ "<log mode=\"roll-by-time\">"
|
||||
+ "<period>7</period>"
|
||||
+ "<pattern>log pattern</pattern>"
|
||||
+ "</log>"
|
||||
+ "</service>";
|
||||
|
||||
var serviceDescriptor = ServiceDescriptor.FromXML(SeedXml);
|
||||
serviceDescriptor.BaseName = "service";
|
||||
|
||||
var logHandler = serviceDescriptor.LogHandler as TimeBasedRollingLogAppender;
|
||||
Assert.NotNull(logHandler);
|
||||
Assert.That(logHandler.Period, Is.EqualTo(7));
|
||||
Assert.That(logHandler.Pattern, Is.EqualTo("log pattern"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue