@@ -6315,3 +6315,53 @@ func (s *assertMgrSuite) TestValidatedIntegrityDataErrorNoRevisionsFound(c *C) {
63156315 expErr : regexp .QuoteMeta ("no snap-revision assertion found that matches (snap-id=snap-id-1, snap-revision=10)." ),
63166316 })
63176317}
6318+
6319+ func (s * assertMgrSuite ) TestFetchAccountKeyOK (c * C ) {
6320+ s .state .Lock ()
6321+ defer s .state .Unlock ()
6322+
6323+ storeAs := s .setupModelAndStore (c )
6324+ err := s .storeSigning .Add (storeAs )
6325+ c .Assert (err , IsNil )
6326+
6327+ db , err := asserts .OpenDatabase (& asserts.DatabaseConfig {
6328+ Backstore : asserts .NewMemoryBackstore (),
6329+ Trusted : s .storeSigning .Trusted ,
6330+ })
6331+ c .Assert (err , IsNil )
6332+
6333+ assertstate .ReplaceDB (s .state , db )
6334+
6335+ keyID := s .dev1AcctKey .PublicKeyID ()
6336+
6337+ // not found locally
6338+ _ , err = assertstate .AccountKey (s .state , keyID )
6339+ c .Assert (err , testutil .ErrorIs , & asserts.NotFoundError {})
6340+
6341+ err = assertstate .FetchAccountKey (s .state , 0 , keyID )
6342+ c .Assert (err , IsNil )
6343+
6344+ // found after fetch
6345+ _ , err = assertstate .AccountKey (s .state , keyID )
6346+ c .Assert (err , IsNil )
6347+ }
6348+
6349+ func (s * assertMgrSuite ) TestFetchAccountKeyError (c * C ) {
6350+ s .state .Lock ()
6351+ defer s .state .Unlock ()
6352+
6353+ storeAs := s .setupModelAndStore (c )
6354+ err := s .storeSigning .Add (storeAs )
6355+ c .Assert (err , IsNil )
6356+
6357+ db , err := asserts .OpenDatabase (& asserts.DatabaseConfig {
6358+ Backstore : asserts .NewMemoryBackstore (),
6359+ Trusted : s .storeSigning .Trusted ,
6360+ })
6361+ c .Assert (err , IsNil )
6362+
6363+ assertstate .ReplaceDB (s .state , db )
6364+
6365+ err = assertstate .FetchAccountKey (s .state , 0 , "no-such-key-id" )
6366+ c .Assert (err , testutil .ErrorIs , & asserts.NotFoundError {})
6367+ }
0 commit comments