Skip to content

Commit 5778f7f

Browse files
committed
production decomp unit test correctly tests deployment
1 parent dab1a6f commit 5778f7f

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

test/UnitTest/SourceControl/Git/ProductionDecomposition.cls

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ Method TestEditProduction()
4848
set %request.Data("pageclass",1) = "EnsPortal.dummy"
4949
do $System.OBJ.Delete(..#ProductionName)
5050
$$$ThrowOnError(##class(SourceControl.Git.Utils).NewBranch("branch1"))
51-
$$$ThrowOnError(##class(SourceControl.Git.Utils).SwitchBranch("branch1"))
5251
$$$ThrowOnError(##class(SourceControl.Git.Production).CreateProduction(..#ProductionName))
5352
do ##class(%Studio.SourceControl.Interface).SourceControlCreate()
5453
$$$ThrowOnError(##class(SourceControl.Git.Utils).AddToSourceControl(..#ProductionName_".cls"))
@@ -60,7 +59,7 @@ Method TestEditProduction()
6059
$$$ThrowOnError(%SourceControl.OnAfterSave(..#ProductionName_".cls"))
6160
do $$$AssertTrue(##class(SourceControl.Git.Utils).IsInSourceControl("UnitTest.SampleProduction||ProductionSettings-UnitTest.SampleProduction.PTD"))
6261

63-
do $$$LogMessage("adding a production item")
62+
do $$$LogMessage("adding a production item should add it to source control")
6463
$$$ThrowOnError(%SourceControl.OnBeforeSave(..#ProductionName_".cls"))
6564
do ..ReplaceProductionDefinition("ProductionDefinition1")
6665
$$$ThrowOnError(%SourceControl.OnAfterSave(..#ProductionName_".cls"))
@@ -73,22 +72,26 @@ Method TestEditProduction()
7372

7473
do $$$LogMessage("switching to a new branch")
7574
$$$ThrowOnError(##class(SourceControl.Git.Utils).NewBranch("branch2"))
76-
$$$ThrowOnError(##class(SourceControl.Git.Utils).SwitchBranch("branch2"))
7775

78-
do $$$LogMessage("modifying an existing item and adding a new item")
76+
do $$$LogMessage("adding a new item and modifying an existing item")
7977
$$$ThrowOnError(%SourceControl.OnBeforeSave(..#ProductionName_".cls"))
80-
set production = ##class(Ens.Config.Production).%OpenId(..#ProductionName)
81-
set production.Items.GetAt(1).Enabled = 0
8278
do ..ReplaceProductionDefinition("ProductionDefinition2")
8379
$$$ThrowOnError(%SourceControl.OnAfterSave(..#ProductionName_".cls"))
80+
set production = ##class(Ens.Config.Production).%OpenId(..#ProductionName)
81+
set production.Items.GetAt(1).Settings.GetAt(1).Value = 71
82+
$$$ThrowOnError(%SourceControl.OnBeforeSave(..#ProductionName_".cls"))
83+
do ..ReplaceProductionDefinition("ProductionDefinition3")
84+
$$$ThrowOnError(%SourceControl.OnAfterSave(..#ProductionName_".cls"))
8485
do $$$AssertTrue(##class(SourceControl.Git.Utils).IsInSourceControl("UnitTest.SampleProduction||Settings-b|Ens.Activity.Operation.Local.PTD"))
8586
do ##class(SourceControl.Git.Utils).RunGitCommand("add",,,".")
8687
do ##class(SourceControl.Git.Utils).Commit("UnitTest.SampleProduction||Settings-a|Ens.Activity.Operation.Local.PTD")
8788
do ##class(SourceControl.Git.Utils).Commit("UnitTest.SampleProduction||Settings-b|Ens.Activity.Operation.Local.PTD")
8889
$$$ThrowOnError(production.%Reload())
8990
do $$$AssertEquals(production.Items.Count(), 2)
91+
do $$$AssertEquals(production.Items.GetAt(1).Settings.GetAt(1).Name, "RecordStatsInterval")
92+
do $$$AssertEquals(production.Items.GetAt(1).Settings.GetAt(1).Value, 71)
9093

91-
do $$$LogMessage("switching back to the original branch")
94+
do $$$LogMessage("switching back to the original branch should modify and delete items")
9295
$$$ThrowOnError(##class(SourceControl.Git.Utils).SwitchBranch("branch1"))
9396
$$$ThrowOnError(production.%Reload())
9497
do $$$AssertEquals(production.Items.Count(), 1)
@@ -120,10 +123,12 @@ XData ProductionDefinition1
120123
{
121124
<Production Name="UnitTest.SampleProduction" LogGeneralTraceEvents="false">
122125
<Item Name="a" Category="" ClassName="Ens.Activity.Operation.Local" PoolSize="1" Enabled="true" Foreground="false" Comment="" LogTraceEvents="false" Schedule="">
126+
<Setting Target="Host" Name="RecordStatsInterval">61</Setting>
123127
</Item>
124128
</Production>
125129
}
126130

131+
/// adds item b
127132
XData ProductionDefinition2
128133
{
129134
<Production Name="UnitTest.SampleProduction" LogGeneralTraceEvents="false">
@@ -135,6 +140,18 @@ XData ProductionDefinition2
135140
</Production>
136141
}
137142

143+
/// modifies a setting for item a
144+
XData ProductionDefinition3
145+
{
146+
<Production Name="UnitTest.SampleProduction" LogGeneralTraceEvents="false">
147+
<Item Name="a" Category="" ClassName="Ens.Activity.Operation.Local" PoolSize="1" Enabled="true" Foreground="false" Comment="" LogTraceEvents="false" Schedule="">
148+
<Setting Target="Host" Name="RecordStatsInterval">71</Setting>
149+
</Item>
150+
<Item Name="b" Category="" ClassName="Ens.Activity.Operation.Local" PoolSize="1" Enabled="true" Foreground="false" Comment="" LogTraceEvents="false" Schedule="">
151+
</Item>
152+
</Production>
153+
}
154+
138155
Method OnBeforeAllTests() As %Status
139156
{
140157
merge ..SourceControlGlobal = ^SYS("SourceControl")

0 commit comments

Comments
 (0)