X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fvf_kdm_test.cc;h=d8efa7ab7b750932896efc3458ee1d5894e6fbd4;hb=4ae0193c125cc70176eb1660919d507fbf5378e4;hp=5248ee798d7bb328001650fcf0811f85048f8510;hpb=e1555a8837da05f135a3705112469206fc17ec80;p=dcpomatic.git diff --git a/test/vf_kdm_test.cc b/test/vf_kdm_test.cc index 5248ee798..d8efa7ab7 100644 --- a/test/vf_kdm_test.cc +++ b/test/vf_kdm_test.cc @@ -26,21 +26,21 @@ #include "test.h" -#include "lib/film.h" -#include "lib/dcp_subtitle_content.h" -#include "lib/ratio.h" -#include "lib/dcp_content_type.h" -#include "lib/dcp_content.h" -#include "lib/ffmpeg_content.h" #include "lib/config.h" +#include "lib/constants.h" #include "lib/cross.h" +#include "lib/dcp_content.h" +#include "lib/dcp_content_type.h" +#include "lib/dcp_subtitle_content.h" +#include "lib/ffmpeg_content.h" +#include "lib/film.h" +#include "lib/ratio.h" #include "lib/screen.h" #include #include using std::make_shared; -using std::shared_ptr; using std::string; using std::vector; @@ -66,17 +66,13 @@ BOOST_AUTO_TEST_CASE (vf_kdm_test) dcp::DCP A_dcp ("build/test/vf_kdm_test_ov/" + A->dcp_name()); A_dcp.read (); - Config::instance()->set_decryption_chain (make_shared(openssl_path())); + Config::instance()->set_decryption_chain (make_shared(openssl_path(), CERTIFICATE_VALIDITY_PERIOD)); + + auto signer = Config::instance()->signer_chain(); + BOOST_REQUIRE(signer->valid()); - auto A_kdm = A->make_kdm ( - Config::instance()->decryption_chain()->leaf(), - vector(), - A_dcp.cpls().front()->file().get(), - dcp::LocalTime("2030-07-21T00:00:00+00:00"), - dcp::LocalTime("2031-07-21T00:00:00+00:00"), - dcp::Formulation::MODIFIED_TRANSITIONAL_1, - true, 0 - ); + auto const A_decrypted_kdm = A->make_kdm(A_dcp.cpls().front()->file().get(), dcp::LocalTime("2030-07-21T00:00:00+00:00"), dcp::LocalTime("2031-07-21T00:00:00+00:00")); + auto const A_kdm = A_decrypted_kdm.encrypt(signer, Config::instance()->decryption_chain()->leaf(), {}, dcp::Formulation::MODIFIED_TRANSITIONAL_1, true, 0); /* Import A into a new project, with the required KDM, and make a VF that refers to it */ @@ -97,15 +93,8 @@ BOOST_AUTO_TEST_CASE (vf_kdm_test) dcp::DCP B_dcp ("build/test/vf_kdm_test_vf/" + B->dcp_name()); B_dcp.read (); - auto B_kdm = B->make_kdm ( - Config::instance()->decryption_chain()->leaf (), - vector(), - B_dcp.cpls().front()->file().get(), - dcp::LocalTime ("2030-07-21T00:00:00+00:00"), - dcp::LocalTime ("2031-07-21T00:00:00+00:00"), - dcp::Formulation::MODIFIED_TRANSITIONAL_1, - true, 0 - ); + auto const B_decrypted_kdm = B->make_kdm(B_dcp.cpls().front()->file().get(), dcp::LocalTime ("2030-07-21T00:00:00+00:00"), dcp::LocalTime ("2031-07-21T00:00:00+00:00")); + auto const B_kdm = B_decrypted_kdm.encrypt(signer, Config::instance()->decryption_chain()->leaf(), {}, dcp::Formulation::MODIFIED_TRANSITIONAL_1, true, 0); /* Import the OV and VF into a new project with the KDM that was created for the VF. This KDM should decrypt assets from the OV too. @@ -121,6 +110,7 @@ BOOST_AUTO_TEST_CASE (vf_kdm_test) e->add_kdm (B_kdm); e->add_ov ("build/test/vf_kdm_test_ov/" + A->dcp_name()); C->examine_and_add_content (e); + C->set_audio_channels(6); BOOST_REQUIRE (!wait_for_jobs()); make_and_verify_dcp (C, {dcp::VerificationNote::Code::INVALID_STANDARD});