-
Notifications
You must be signed in to change notification settings - Fork 0
/
TestBase.vb
137 lines (111 loc) · 3.94 KB
/
TestBase.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Imports System.IO
Imports System.Net
Imports NUnit.Framework
Imports log4net
Imports ChrisLaco.Siphon
Public Class TestBase
Private Shared ReadOnly Log As ILog = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod.DeclaringType)
Private _processComplete As Boolean
Private _processFailure As Boolean
Private _processItem As IDataItem
Private _testDirectory As DirectoryInfo
<TestFixtureSetUp()> _
Protected Overridable Sub TestFixtureSetupUp()
log4net.Config.XmlConfigurator.Configure()
End Sub
<SetUp()> _
Protected Overridable Sub SetUp()
Me.ProcessComplete = False
Me.ProcessFailure = False
TestDirectory = Nothing
End Sub
<TearDown()> _
Protected Overridable Sub TearDown()
DeleteTestDirectory()
End Sub
Protected Property ProcessComplete() As Boolean
Get
Return _processComplete
End Get
Set(ByVal value As Boolean)
_processComplete = value
End Set
End Property
Protected Property ProcessFailure() As Boolean
Get
Return _processFailure
End Get
Set(ByVal value As Boolean)
_processFailure = value
End Set
End Property
Protected Property ProcessItem() As IDataItem
Get
Return _processItem
End Get
Set(ByVal value As IDataItem)
_processItem = value
End Set
End Property
Protected Sub Monitor_ProcessComplete(ByVal sender As Object, ByVal e As ProcessEventArgs)
Log.Debug("ProcessComplete Event Caught")
Me.ProcessItem = e.Item
Me.ProcessComplete = True
Me.ProcessFailure = False
End Sub
Protected Sub Monitor_ProcessFailure(ByVal sender As Object, ByVal e As ProcessEventArgs)
Log.Debug("ProcessFailure Event Caught")
Me.ProcessItem = e.Item
Me.ProcessComplete = False
Me.ProcessFailure = True
End Sub
Protected Overridable Sub CreateTestDirectory()
TestDirectory = System.IO.Directory.CreateDirectory(Path.Combine(Path.GetTempPath, Path.GetRandomFileName))
End Sub
Protected Overridable Property TestDirectory() As DirectoryInfo
Get
If _testDirectory Is Nothing Then
CreateTestDirectory()
Log.DebugFormat("Created directory {0}", _testDirectory.FullName)
End If
Return _testDirectory
End Get
Set(ByVal value As DirectoryInfo)
_testDirectory = value
End Set
End Property
Protected Overridable Sub DeleteTestDirectory()
If _testDirectory IsNot Nothing Then
TestDirectory.Delete(True)
TestDirectory = Nothing
End If
End Sub
Protected Overridable Sub CreateFile(ByVal name As String, Optional ByVal content As String = "")
Using file As FileStream = System.IO.File.Create(Path.Combine(TestDirectory.FullName, name))
If Not String.IsNullOrEmpty(content) Then
Dim bytes() As Byte = Text.Encoding.UTF8.GetBytes(content)
file.Write(bytes, 0, bytes.Length)
End If
Log.DebugFormat("Created file {0}", file.Name)
End Using
End Sub
Protected Overridable Sub CreateSuccessFile(Optional ByVal name As String = "SUCCESS")
CreateFile(name, "SUCCESS")
End Sub
Protected Overridable Sub CreateFailureFile(Optional ByVal name As String = "FAILURE")
CreateFile(name, "FAILURE")
End Sub
Protected Overridable Sub CreateExceptionFile(Optional ByVal name As String = "EXCEPTION")
CreateFile(name, "EXCEPTION")
End Sub
Protected Overridable ReadOnly Property Credentials() As NetworkCredential
Get
Return New NetworkCredential()
End Get
End Property
Protected Overridable ReadOnly Property Uri() As Uri
Get
Return Nothing
End Get
End Property
End Class