diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-01-01 20:11:25 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-01-01 20:11:25 +0000 |
| commit | 3adf49eea65c2c015ae0b5bc7f066a599faf3933 (patch) | |
| tree | 93e571aea5eec12772cf39058b51ddcabd8f3ee9 /test | |
| parent | 4f902db0ad994910a34ca845225635ceefcac96e (diff) | |
Some work on encryption / signing.
Diffstat (limited to 'test')
| -rw-r--r-- | test/ref/DCP/bar/402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml | 30 | ||||
| -rw-r--r-- | test/ref/DCP/bar/63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml | 39 | ||||
| -rw-r--r-- | test/ref/DCP/bar/ASSETMAP.xml | 55 | ||||
| -rw-r--r-- | test/ref/DCP/bar/VOLINDEX.xml | 4 | ||||
| -rw-r--r-- | test/ref/DCP/bar/audio.mxf | bin | 0 -> 308398 bytes | |||
| -rw-r--r-- | test/ref/DCP/bar/video.mxf | bin | 0 -> 28840 bytes | |||
| -rw-r--r-- | test/ref/DCP/foo/81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml | 39 | ||||
| -rw-r--r-- | test/ref/DCP/foo/ASSETMAP.xml | 55 | ||||
| -rw-r--r-- | test/ref/DCP/foo/VOLINDEX.xml | 4 | ||||
| -rw-r--r-- | test/ref/DCP/foo/audio.mxf | bin | 0 -> 305326 bytes | |||
| -rw-r--r-- | test/ref/DCP/foo/df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml | 30 | ||||
| -rw-r--r-- | test/ref/DCP/foo/video.mxf | bin | 0 -> 26080 bytes | |||
| -rw-r--r-- | test/tests.cc | 31 |
13 files changed, 284 insertions, 3 deletions
diff --git a/test/ref/DCP/bar/402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml b/test/ref/DCP/bar/402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml new file mode 100644 index 00000000..a87f9e27 --- /dev/null +++ b/test/ref/DCP/bar/402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL"> + <Id>urn:uuid:402c5a88-2512-4465-9c0b-cfa687dbc5d0</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <Creator>OpenDCP 0.0.25</Creator> + <AssetList> + <Asset> + <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id> + <AnnotationText>video.mxf</AnnotationText> + <Hash>fTMi9Xvr8NzuRhm7LmSTk6k1HYo=</Hash> + <Size>28840</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:aa3fb133-0d18-4083-a039-e441b0788e79</Id> + <AnnotationText>audio.mxf</AnnotationText> + <Hash>2MlsntiFrekkQvwbRPLC2XEMU78=</Hash> + <Size>308398</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id> + <Hash>l/g+bdCKF6ofhedin5qrLcObS1E=</Hash> + <Size>1526</Size> + <Type>text/xml</Type> + </Asset> + </AssetList> +</PackingList> diff --git a/test/ref/DCP/bar/63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml b/test/ref/DCP/bar/63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml new file mode 100644 index 00000000..43edb1b3 --- /dev/null +++ b/test/ref/DCP/bar/63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CompositionPlaylist xmlns="http://www.smpte-ra.org/schemas/429-7/2006/CPL"> + <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Creator>OpenDCP 0.0.25</Creator> + <ContentTitleText>A Test DCP</ContentTitleText> + <ContentKind>feature</ContentKind> + <ContentVersion> + <Id>urn:uri:63c3aece-c581-4603-b612-75e43f0c0430_2012-07-17T04:45:18+00:00</Id> + <LabelText>63c3aece-c581-4603-b612-75e43f0c0430_2012-07-17T04:45:18+00:00</LabelText> + </ContentVersion> + <RatingList/> + <ReelList> + <Reel> + <Id>urn:uuid:7d861d35-c775-48e6-a4f8-fbfdbfc1556a</Id> + <AssetList> + <MainPicture> + <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id> + <AnnotationText>video.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + <FrameRate>24 1</FrameRate> + <ScreenAspectRatio>32 32</ScreenAspectRatio> + </MainPicture> + <MainSound> + <Id>urn:uuid:aa3fb133-0d18-4083-a039-e441b0788e79</Id> + <AnnotationText>audio.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + </MainSound> + </AssetList> + </Reel> + </ReelList> +</CompositionPlaylist> diff --git a/test/ref/DCP/bar/ASSETMAP.xml b/test/ref/DCP/bar/ASSETMAP.xml new file mode 100644 index 00000000..359f453f --- /dev/null +++ b/test/ref/DCP/bar/ASSETMAP.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Id>urn:uuid:58f161a5-16d1-4896-93df-52a5a330082f</Id> + <Creator>OpenDCP 0.0.25</Creator> + <VolumeCount>1</VolumeCount> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <AssetList> + <Asset> + <Id>urn:uuid:402c5a88-2512-4465-9c0b-cfa687dbc5d0</Id> + <PackingList>true</PackingList> + <ChunkList> + <Chunk> + <Path>402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1049</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:63c3aece-c581-4603-b612-75e43f0c0430</Id> + <ChunkList> + <Chunk> + <Path>63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1526</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id> + <ChunkList> + <Chunk> + <Path>video.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>28840</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:aa3fb133-0d18-4083-a039-e441b0788e79</Id> + <ChunkList> + <Chunk> + <Path>audio.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>308398</Length> + </Chunk> + </ChunkList> + </Asset> + </AssetList> +</AssetMap> diff --git a/test/ref/DCP/bar/VOLINDEX.xml b/test/ref/DCP/bar/VOLINDEX.xml new file mode 100644 index 00000000..f66c004a --- /dev/null +++ b/test/ref/DCP/bar/VOLINDEX.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VolumeIndex xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Index>1</Index> +</VolumeIndex> diff --git a/test/ref/DCP/bar/audio.mxf b/test/ref/DCP/bar/audio.mxf Binary files differnew file mode 100644 index 00000000..1188e5fc --- /dev/null +++ b/test/ref/DCP/bar/audio.mxf diff --git a/test/ref/DCP/bar/video.mxf b/test/ref/DCP/bar/video.mxf Binary files differnew file mode 100644 index 00000000..20eb6f4a --- /dev/null +++ b/test/ref/DCP/bar/video.mxf diff --git a/test/ref/DCP/foo/81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml b/test/ref/DCP/foo/81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml new file mode 100644 index 00000000..59d50075 --- /dev/null +++ b/test/ref/DCP/foo/81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CompositionPlaylist xmlns="http://www.smpte-ra.org/schemas/429-7/2006/CPL"> + <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Creator>OpenDCP 0.0.25</Creator> + <ContentTitleText>A Test DCP</ContentTitleText> + <ContentKind>feature</ContentKind> + <ContentVersion> + <Id>urn:uri:81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00</Id> + <LabelText>81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00</LabelText> + </ContentVersion> + <RatingList/> + <ReelList> + <Reel> + <Id>urn:uuid:379fa64c-ad71-46cf-bef7-b45624006610</Id> + <AssetList> + <MainPicture> + <Id>urn:uuid:d36f4bb3-c4fa-4a95-9915-6fec3110cd71</Id> + <AnnotationText>video.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + <FrameRate>24 1</FrameRate> + <ScreenAspectRatio>32 32</ScreenAspectRatio> + </MainPicture> + <MainSound> + <Id>urn:uuid:c38bdd62-ce03-4988-8603-195f134207c7</Id> + <AnnotationText>audio.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + </MainSound> + </AssetList> + </Reel> + </ReelList> +</CompositionPlaylist> diff --git a/test/ref/DCP/foo/ASSETMAP.xml b/test/ref/DCP/foo/ASSETMAP.xml new file mode 100644 index 00000000..defe18da --- /dev/null +++ b/test/ref/DCP/foo/ASSETMAP.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Id>urn:uuid:b135d5cf-d180-43d8-b0b3-7373737b73bf</Id> + <Creator>OpenDCP 0.0.25</Creator> + <VolumeCount>1</VolumeCount> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <AssetList> + <Asset> + <Id>urn:uuid:df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb</Id> + <PackingList>true</PackingList> + <ChunkList> + <Chunk> + <Path>df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1049</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id> + <ChunkList> + <Chunk> + <Path>81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1526</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:c38bdd62-ce03-4988-8603-195f134207c7</Id> + <ChunkList> + <Chunk> + <Path>audio.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>305326</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:d36f4bb3-c4fa-4a95-9915-6fec3110cd71</Id> + <ChunkList> + <Chunk> + <Path>video.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>26080</Length> + </Chunk> + </ChunkList> + </Asset> + </AssetList> +</AssetMap> diff --git a/test/ref/DCP/foo/VOLINDEX.xml b/test/ref/DCP/foo/VOLINDEX.xml new file mode 100644 index 00000000..f66c004a --- /dev/null +++ b/test/ref/DCP/foo/VOLINDEX.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VolumeIndex xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Index>1</Index> +</VolumeIndex> diff --git a/test/ref/DCP/foo/audio.mxf b/test/ref/DCP/foo/audio.mxf Binary files differnew file mode 100644 index 00000000..9bc735af --- /dev/null +++ b/test/ref/DCP/foo/audio.mxf diff --git a/test/ref/DCP/foo/df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml b/test/ref/DCP/foo/df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml new file mode 100644 index 00000000..7a8ec697 --- /dev/null +++ b/test/ref/DCP/foo/df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL"> + <Id>urn:uuid:df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-17T04:45:18+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <Creator>OpenDCP 0.0.25</Creator> + <AssetList> + <Asset> + <Id>urn:uuid:c38bdd62-ce03-4988-8603-195f134207c7</Id> + <AnnotationText>audio.mxf</AnnotationText> + <Hash>+qImGHkt/XouNaJ1V/+7BtcB4VU=</Hash> + <Size>305326</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:d36f4bb3-c4fa-4a95-9915-6fec3110cd71</Id> + <AnnotationText>video.mxf</AnnotationText> + <Hash>E2vhyxdJQhEzSQZdp31w84ZZpfk=</Hash> + <Size>26080</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id> + <Hash>TTn7vvdUQi/G+KaW1Pym/DjxULM=</Hash> + <Size>1526</Size> + <Type>text/xml</Type> + </Asset> + </AssetList> +</PackingList> diff --git a/test/ref/DCP/foo/video.mxf b/test/ref/DCP/foo/video.mxf Binary files differnew file mode 100644 index 00000000..645fb85a --- /dev/null +++ b/test/ref/DCP/foo/video.mxf diff --git a/test/tests.cc b/test/tests.cc index a842fa4d..71796f72 100644 --- a/test/tests.cc +++ b/test/tests.cc @@ -29,12 +29,14 @@ #include "picture_asset.h" #include "sound_asset.h" #include "reel.h" +#include "certificates.h" #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE libdcp_test #include <boost/test/unit_test.hpp> using std::string; +using std::cout; using std::vector; using std::list; using boost::shared_ptr; @@ -109,7 +111,7 @@ BOOST_AUTO_TEST_CASE (error_test) BOOST_AUTO_TEST_CASE (read_dcp) { - libdcp::DCP d ("test/ref/DCP"); + libdcp::DCP d ("test/ref/DCP/foo"); d.read (); list<shared_ptr<const libdcp::CPL> > cpls = d.cpls (); @@ -607,7 +609,7 @@ BOOST_AUTO_TEST_CASE (encryption) 24, 32, 32, - false + true )); shared_ptr<libdcp::SoundAsset> ms (new libdcp::SoundAsset ( @@ -618,7 +620,7 @@ BOOST_AUTO_TEST_CASE (encryption) 24, 24, 2, - false + true )); cpl->add_reel (shared_ptr<libdcp::Reel> (new libdcp::Reel (mp, ms, shared_ptr<libdcp::SubtitleAsset> ()))); @@ -626,3 +628,26 @@ BOOST_AUTO_TEST_CASE (encryption) d.write_xml (); } + +BOOST_AUTO_TEST_CASE (certificates) +{ + libdcp::CertificateChain c ("test/data/certificate_chain"); + BOOST_CHECK_EQUAL (c._certificates.size(), 3); + + BOOST_CHECK_EQUAL ( + c.root()->issuer(), + "/O=example.org/OU=example.org/CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION/dnQualifier=rTeK7x+nopFkyphflooz6p2ZM7A=" + ); + + BOOST_CHECK_EQUAL ( + libdcp::Certificate::name_for_xml (c.root()->issuer()), + "dnQualifier=rTeK7x+nopFkyphflooz6p2ZM7A=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org" + ); + + BOOST_CHECK_EQUAL (c.root()->serial(), "5"); + + BOOST_CHECK_EQUAL ( + libdcp::Certificate::name_for_xml (c.root()->subject()), + "dnQualifier=rTeK7x+nopFkyphflooz6p2ZM7A=,CN=.smpte-430-2.ROOT.NOT_FOR_PRODUCTION,OU=example.org,O=example.org" + ); +} |
