@@ -31,21 +31,22 @@ public IEnumerable<TestCaseContent> GetAllTestCases()
3131 {
3232 return GetAllContent ( i => _allureClient . GetTestCasesAsync ( _allureTestOpsSettings . ProjectId , i ) . Result ) ;
3333 }
34+
3435 public IEnumerable < CustomFieldSchemaContent > GetCustomFieldSchema ( )
3536 {
3637 return GetAllContent ( i => _allureClient . GetCustomFieldSchemaAsync ( _allureTestOpsSettings . ProjectId , i ) . Result ) ;
3738 }
38-
39+
3940 public IEnumerable < TestLayerSchemaContent > GetTestLayerSchema ( )
4041 {
4142 return GetAllContent ( i => _allureClient . GetTestLayerSchemaAsync ( _allureTestOpsSettings . ProjectId , i ) . Result ) ;
4243 }
43-
44+
4445 public IEnumerable < CustomFieldItem > GetCustomFieldValues ( long customFieldId )
4546 {
4647 return GetAllContent ( i => _allureClient . GetCustomFieldValuesAsync ( customFieldId , i ) . Result ) ;
4748 }
48-
49+
4950 public CustomFieldItem CreateNewCustomFieldValue ( CustomFieldItem customFieldItem )
5051 {
5152 var response = _allureClient . CreateCustomFieldValueAsync ( customFieldItem ) . Result ;
@@ -76,7 +77,7 @@ public TestCase CreateTestCase(CreateTestCaseRequest caseRequest)
7677 return response . Content ;
7778 }
7879
79- public TestCaseOverview GetTestCaseOverview ( ulong id )
80+ public TestCaseOverview GetTestCaseOverview ( long id )
8081 {
8182 var response = _allureClient . GetTestCaseOverviewAsync ( id ) . Result ;
8283 ValidateResponse ( response ) ;
@@ -107,7 +108,7 @@ public void UpdateTestCase(TestCaseContent currentCase, CreateTestCaseRequestExt
107108 if ( caseToUpdate . StepsAttachments . Any ( ) )
108109 {
109110 UpdateTestCaseStepAttachments ( caseToUpdate , testCaseOverview ) ;
110- }
111+ }
111112 }
112113 }
113114
@@ -122,14 +123,14 @@ public void UpdateTestCase(TestCaseContent currentCase, CreateTestCaseRequestExt
122123
123124 if ( ! contentEqual || ! scenarioIsEqual )
124125 {
125- var response = _allureClient . UpdateTestCaseAsync ( currentCase . Id , caseToUpdate . CreateTestCaseRequest ) . Result ;
126+ var response = _allureClient . UpdateTestCaseAsync ( testCaseOverview . Id , caseToUpdate . CreateTestCaseRequest ) . Result ;
126127 ValidateResponse ( response ) ;
127128 updated = true ;
128129 }
129130
130131 Log . Info ( updated
131- ? $ "Updated: [{ currentCase . Id } ] { caseToUpdate . CreateTestCaseRequest . Name } "
132- : $ "Up-to-date: [{ currentCase . Id } ] { currentCase . Name } ") ;
132+ ? $ "Updated: [{ testCaseOverview . Id } ] { caseToUpdate . CreateTestCaseRequest . Name } "
133+ : $ "Up-to-date: [{ testCaseOverview . Id } ] { testCaseOverview . Name } ") ;
133134 }
134135
135136 private bool AreTestCaseScenariosEqual ( TestCaseOverview testCaseOverview , CreateTestCaseRequestExtended caseToUpdate )
@@ -141,7 +142,7 @@ private bool AreTestCaseScenariosEqual(TestCaseOverview testCaseOverview, Create
141142
142143 if ( testCaseOverview . Scenario is null && caseToUpdate . CreateTestCaseRequest . Scenario . Steps is not null )
143144 {
144- return false ;
145+ return false ;
145146 }
146147
147148 if ( testCaseOverview . Scenario ! . Steps . Count != caseToUpdate . CreateTestCaseRequest . Scenario . Steps ! . Count )
@@ -177,7 +178,8 @@ private bool AreTestCaseScenariosEqual(TestCaseOverview testCaseOverview, Create
177178 return false ;
178179 }
179180
180- var allureAttachment = _allureClient . GetTestCaseAttachmentContentAsync ( stepsFromAllure [ i ] . Attachments . FirstOrDefault ( ) ! . Id ) . Result ;
181+ var allureAttachment = _allureClient . GetTestCaseAttachmentContentAsync ( stepsFromAllure [ i ] . Attachments . FirstOrDefault ( ) ! . Id )
182+ . Result ;
181183
182184 if ( ! allureAttachment . Content ! . Equals ( attachment ) )
183185 {
@@ -208,6 +210,11 @@ public IEnumerable<WorkflowContent> GetAllWorkflows()
208210 {
209211 return GetAllContent ( i => _allureClient . GetWorkflowAsync ( i ) . Result ) ;
210212 }
213+
214+ public IEnumerable < TestCase > SearchAllTestCasesWithQuery ( string rql , bool deleted = false )
215+ {
216+ return GetAllContent ( i => _allureClient . SearchTestCasesAsync ( _allureTestOpsSettings . ProjectId , rql , deleted , i ) . Result ) ;
217+ }
211218
212219 public List < Attachment > UploadTestCaseAttachments ( long testCaseId , IEnumerable < ByteArrayPart > content )
213220 {
@@ -236,17 +243,17 @@ public void UploadStepAttachments(CreateTestCaseRequestExtended caseRequestExten
236243
237244 ValidateResponse ( response ) ;
238245 }
239-
246+
240247 public List < Tag > GetAllTestTags ( )
241248 {
242249 var response = _allureClient . GetTagsAsync ( ) . Result ;
243250 ValidateResponse ( response ) ;
244251 return response . Content ;
245252 }
246-
253+
247254 public Tag AddTestTags ( string name )
248255 {
249- var response = _allureClient . CreateTagAsync ( new Tag { Name = name } ) . Result ;
256+ var response = _allureClient . CreateTagAsync ( new Tag { Name = name } ) . Result ;
250257 ValidateResponse ( response ) ;
251258 return response . Content ;
252259 }
@@ -259,9 +266,9 @@ private void UpdateTestCaseStepAttachments(CreateTestCaseRequestExtended caseToU
259266 foreach ( var id in attachment . Select ( step => step . Attachments . FirstOrDefault ( ) ! . Id ) )
260267 {
261268 RemoveTestCaseAttachment ( id ) ;
262- }
269+ }
263270 }
264-
271+
265272 AddTestCaseStepAttachments ( caseToUpdate , testCaseOverview . Id ) ;
266273 }
267274
@@ -270,37 +277,40 @@ private bool AreTestCasesContentsEqual(TestCaseOverview currentCase, CreateTestC
270277 if ( ! currentCase . Name . Equals ( caseToUpdate . CreateTestCaseRequest . Name ) ) return false ;
271278 if ( ! currentCase . Automated . Equals ( caseToUpdate . CreateTestCaseRequest . Automated ) ) return false ;
272279 if ( ! currentCase . Status . Id . Equals ( caseToUpdate . CreateTestCaseRequest . StatusId ) ) return false ;
273- if ( currentCase . Description is null && caseToUpdate . CreateTestCaseRequest . Description is not null ) return false ;
274- if ( currentCase . Description is not null && caseToUpdate . CreateTestCaseRequest . Description is null ) return false ;
280+ if ( currentCase . Description is null && caseToUpdate . CreateTestCaseRequest . Description is not null ) return false ;
281+ if ( currentCase . Description is not null && caseToUpdate . CreateTestCaseRequest . Description is null ) return false ;
275282 if ( currentCase . Description is not null && caseToUpdate . CreateTestCaseRequest . Description is not null )
276283 {
277- if ( ! currentCase . Description . Equals ( caseToUpdate . CreateTestCaseRequest . Description ) ) return false ;
284+ if ( ! currentCase . Description . Equals ( caseToUpdate . CreateTestCaseRequest . Description ) ) return false ;
278285 }
286+
279287 if ( currentCase . Layer is null && caseToUpdate . CreateTestCaseRequest . TestLayerId is not null ) return false ;
280288 if ( currentCase . Layer is not null && caseToUpdate . CreateTestCaseRequest . TestLayerId is null ) return false ;
281289 if ( currentCase . Layer is not null && caseToUpdate . CreateTestCaseRequest . TestLayerId is not null )
282290 {
283- if ( ! currentCase . Layer . Id . Equals ( caseToUpdate . CreateTestCaseRequest . TestLayerId ) ) return false ;
291+ if ( ! currentCase . Layer . Id . Equals ( caseToUpdate . CreateTestCaseRequest . TestLayerId ) ) return false ;
284292 }
293+
285294 var caseToUpdateTagIds = caseToUpdate . CreateTestCaseRequest . Tags . Select ( tag => tag . Id ) . ToList ( ) ;
286295 var currentCaseTagIds = currentCase . Tags . Select ( tag => tag . Id ) . ToList ( ) ;
287296
288297 if ( currentCaseTagIds . Count != caseToUpdateTagIds . Count ) return false ;
289298 if ( currentCaseTagIds . Except ( caseToUpdateTagIds ) . Any ( ) ) return false ;
290-
299+
291300 if ( currentCase . CustomFields . Count != caseToUpdate . CreateTestCaseRequest . CustomFields . Count ) return false ;
292- if ( currentCase . CustomFields . Select ( item => item . Name ) . Except ( caseToUpdate . CreateTestCaseRequest . CustomFields . Select ( item => item . Name ) ) . Any ( ) ) return false ;
301+ if ( currentCase . CustomFields . Select ( item => item . Name ) . Except ( caseToUpdate . CreateTestCaseRequest . CustomFields . Select ( item => item . Name ) )
302+ . Any ( ) ) return false ;
293303
294304 if ( _allureTestOpsSettings . BackgroundToPrecondition )
295305 {
296- if ( currentCase . Precondition is null && caseToUpdate . CreateTestCaseRequest . Precondition is not null ) return false ;
297- if ( currentCase . Precondition is not null && caseToUpdate . CreateTestCaseRequest . Precondition is null ) return false ;
306+ if ( currentCase . Precondition is null && caseToUpdate . CreateTestCaseRequest . Precondition is not null ) return false ;
307+ if ( currentCase . Precondition is not null && caseToUpdate . CreateTestCaseRequest . Precondition is null ) return false ;
298308 if ( currentCase . Precondition is not null && caseToUpdate . CreateTestCaseRequest . Precondition is not null )
299309 {
300- if ( ! currentCase . Precondition . Equals ( caseToUpdate . CreateTestCaseRequest . Precondition ) ) return false ;
310+ if ( ! currentCase . Precondition . Equals ( caseToUpdate . CreateTestCaseRequest . Precondition ) ) return false ;
301311 }
302312 }
303-
313+
304314 return true ;
305315 }
306316
@@ -332,5 +342,24 @@ private void AddTestCaseStepAttachments(CreateTestCaseRequestExtended caseReques
332342 caseRequestExtended . CreateTestCaseRequest . Scenario . Steps [ stepNumber ] . Attachments = new List < Attachment > { attachments [ i ] } ;
333343 }
334344 }
345+
346+ public void RemoveTestCases ( List < long > idsToDelete )
347+ {
348+ var request = new TestCaseBulk
349+ {
350+ Selection = new Selection
351+ {
352+ ProjectId = _allureTestOpsSettings . ProjectId ,
353+ Inverted = false ,
354+ LeafsInclude = idsToDelete
355+ }
356+ } ;
357+ var response = _allureClient . RemoveTestCasesAsync ( request ) . Result ;
358+ ValidateResponse ( response ) ;
359+ foreach ( var id in idsToDelete )
360+ {
361+ Log . Info ( $ "Deleted: [{ id } ]") ;
362+ }
363+ }
335364 }
336365}
0 commit comments