@@ -49,8 +49,9 @@ func TestDeleteSystem(t *testing.T) {
4949
5050 deleteEvent := createTestDeleteEvent (id )
5151 err := HandleDelete (deleteEvent )
52- assertSystemNotInDB (t )
5352 assert .NoError (t , err )
53+ assertSystemStaleAndCulled (t )
54+ deleteData (t )
5455}
5556
5657func TestDeleteSystemWarn1 (t * testing.T ) {
@@ -103,11 +104,51 @@ func TestUploadAfterDelete(t *testing.T) {
103104 utils .SkipWithoutDB (t )
104105 core .SetupTestEnvironment ()
105106 configure ()
107+ deleteData (t )
108+
109+ // system is not in database and the first event is delete
110+ deleteEvent := createTestDeleteEvent (id )
111+ err := HandleDelete (deleteEvent )
112+ assert .NoError (t , err )
106113
114+ // upload will be skipped and system won't be created
107115 uploadEvent := createTestUploadEvent ("1" , id , "puptoo" , true , false )
108- err : = HandleUpload (uploadEvent )
116+ err = HandleUpload (uploadEvent )
109117 assert .NoError (t , err )
110118 assertSystemNotInDB (t )
119+
120+ deleteData (t )
121+ }
122+
123+ func TestCreateDeleteUpload (t * testing.T ) {
124+ utils .SkipWithoutDB (t )
125+ core .SetupTestEnvironment ()
126+ configure ()
127+ deleteData (t )
128+
129+ uploadEvent := createTestUploadEvent ("1" , id , "puptoo" , true , false )
130+ originalName := "UPLOADED"
131+ uploadEvent .Host .DisplayName = & originalName
132+ err := HandleUpload (uploadEvent )
133+ assert .NoError (t , err )
134+
135+ // delete marks the system but not physically delete it
136+ deleteEvent := createTestDeleteEvent (id )
137+ err = HandleDelete (deleteEvent )
138+ assert .NoError (t , err )
139+ assertSystemStaleAndCulled (t )
140+
141+ // second upload of now deleted system should not change anything
142+ changedName := "UPDATED"
143+ uploadEvent .Host .DisplayName = & changedName
144+ err = HandleUpload (uploadEvent )
145+ assert .NoError (t , err )
146+
147+ var system models.SystemPlatform
148+ assert .NoError (t , database .DB .Order ("ID DESC" ).Find (& system , "inventory_id = ?::uuid" , id ).Error )
149+ assert .Equal (t , originalName , system .DisplayName )
150+
151+ deleteData (t )
111152}
112153
113154func TestDeleteCleanup (t * testing.T ) {
0 commit comments