code: func (sa *StorageAuthority) GetAuthorization2(ctx context.Context, id *sapb.AuthorizationID2) (*corepb.Authorization, error) {
  	authz := core.Authorization{
  		Status:         core.StatusValid,
  		RegistrationID: 1,
  		Identifier:     core.AcmeIdentifier{Type: "dns", Value: "not-an-example.com"},
  		V2:             true,
  		Challenges: []core.Challenge{
  			{
  				ID:    23,
  				Token: "token",
  				Type:  "dns",
  			},
  		},
  	}
  
  	switch *id.Id {
  	case authzIdValid:
  		exp := sa.clk.Now().AddDate(100, 0, 0)
  		authz.Expires = &exp
  		authz.ID = fmt.Sprintf("%d", authzIdValid)
  		return bgrpc.AuthzToPB(authz)
  	case authzIdPending:
  		exp := sa.clk.Now().AddDate(100, 0, 0)
  		authz.Expires = &exp
  		authz.ID = fmt.Sprintf("%d", authzIdPending)
  		authz.Status = core.StatusPending
  		return bgrpc.AuthzToPB(authz)
  	case authzIdExpired:
  		exp := sa.clk.Now().AddDate(0, -1, 0)
  		authz.Expires = &exp
  		authz.ID = fmt.Sprintf("%d", authzIdExpired)
  		return bgrpc.AuthzToPB(authz)
  	case authzIdErrorResult:
  		return nil, fmt.Errorf("Unspecified database error")
  	case authzIdDiffAccount:
  		exp := sa.clk.Now().AddDate(100, 0, 0)
  		authz.RegistrationID = 2
  		authz.Expires = &exp
  		authz.ID = fmt.Sprintf("%d", authzIdDiffAccount)
  		return bgrpc.AuthzToPB(authz)
  	}
  
  	return nil, berrors.NotFoundError("no authorization found with id %q", id)
  }
docs: // GetAuthorization2 is a mock