@@ -119,6 +119,48 @@ public void VerifyDebuggerTunnelDeserialization_WithoutTunnel()
119119 Assert . Null ( recoveredMessage . DebuggerTunnel ) ;
120120 }
121121
122+ [ Fact ]
123+ [ Trait ( "Level" , "L0" ) ]
124+ [ Trait ( "Category" , "Common" ) ]
125+ public void VerifyActionsDependenciesDeserialization_WithDependencies ( )
126+ {
127+ // Arrange
128+ var serializer = new DataContractJsonSerializer ( typeof ( AgentJobRequestMessage ) ) ;
129+ string json = DoubleQuotify ( "{'dependencies': ['actions/checkout@v4:sha256-abc123', 'actions/setup-node@v4:sha256-def456']}" ) ;
130+
131+ // Act
132+ using var stream = new MemoryStream ( ) ;
133+ stream . Write ( Encoding . UTF8 . GetBytes ( json ) ) ;
134+ stream . Position = 0 ;
135+ var recoveredMessage = serializer . ReadObject ( stream ) as AgentJobRequestMessage ;
136+
137+ // Assert
138+ Assert . NotNull ( recoveredMessage ) ;
139+ Assert . Equal ( 2 , recoveredMessage . ActionsDependencies . Count ) ;
140+ Assert . Equal ( "actions/checkout@v4:sha256-abc123" , recoveredMessage . ActionsDependencies [ 0 ] ) ;
141+ Assert . Equal ( "actions/setup-node@v4:sha256-def456" , recoveredMessage . ActionsDependencies [ 1 ] ) ;
142+ }
143+
144+ [ Fact ]
145+ [ Trait ( "Level" , "L0" ) ]
146+ [ Trait ( "Category" , "Common" ) ]
147+ public void VerifyActionsDependenciesDeserialization_DefaultsToEmpty ( )
148+ {
149+ // Arrange
150+ var serializer = new DataContractJsonSerializer ( typeof ( AgentJobRequestMessage ) ) ;
151+ string json = DoubleQuotify ( "{'messageType': 'PipelineAgentJobRequest'}" ) ;
152+
153+ // Act
154+ using var stream = new MemoryStream ( ) ;
155+ stream . Write ( Encoding . UTF8 . GetBytes ( json ) ) ;
156+ stream . Position = 0 ;
157+ var recoveredMessage = serializer . ReadObject ( stream ) as AgentJobRequestMessage ;
158+
159+ // Assert
160+ Assert . NotNull ( recoveredMessage ) ;
161+ Assert . Empty ( recoveredMessage . ActionsDependencies ) ;
162+ }
163+
122164 private static string DoubleQuotify ( string text )
123165 {
124166 return text . Replace ( '\' ' , '"' ) ;
0 commit comments