@Operation(summary = "Start Bvd session")
    @GetMapping(value = "/frontchannel/saml/v4/entrance/start_bvd_session")
    public RedirectView startBvdSession(@RequestParam(value = "SAMLart") String artifact) throws SamlSessionException, AdException, BvdException, UnsupportedEncodingException {
        SamlSession samlSession = samlSessionService.findSamlSessionByArtifact(artifact);
        AdSession adSession = adService.getAdSession(samlSession.getHttpSessionId());
        return new RedirectView(adService.checkAuthenticationStatus(adSession, samlSession, artifact));
    }
@Test
    public void startBvdSession() throws BvdException, SamlSessionException, AdException, UnsupportedEncodingException {
        SamlSession samlSession = new SamlSession(1L);
        samlSession.setHttpSessionId("httpSessionId");
        samlSession.setServiceEntityId("serviceEntityId");
        samlSession.setServiceUuid("serviceUuid");
        samlSession.setTransactionId("transactionId");

        adSession.setBsn("bsn");
        adSession.setAuthenticationLevel(10);

        when(adServiceMock.getAdSession(anyString())).thenReturn(adSession);
        when(samlSessionServiceMock.findSamlSessionByArtifact(anyString())).thenReturn(samlSession);

        RedirectView result = sessionController.startBvdSession("SAMLArtifact");

        assertNotNull(result);
        verify(samlSessionServiceMock, times(1)).findSamlSessionByArtifact(anyString());
        verify(adServiceMock, times(1)).getAdSession(anyString());
        verify(adServiceMock, times(1)).checkAuthenticationStatus(any(AdSession.class), any(SamlSession.class), anyString());
    }