summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-01-01 20:11:25 +0000
committerCarl Hetherington <cth@carlh.net>2013-01-01 20:11:25 +0000
commit3adf49eea65c2c015ae0b5bc7f066a599faf3933 (patch)
tree93e571aea5eec12772cf39058b51ddcabd8f3ee9 /test
parent4f902db0ad994910a34ca845225635ceefcac96e (diff)
Some work on encryption / signing.
Diffstat (limited to 'test')
-rw-r--r--test/ref/DCP/bar/402c5a88-2512-4465-9c0b-cfa687dbc5d0_pkl.xml30
-rw-r--r--test/ref/DCP/bar/63c3aece-c581-4603-b612-75e43f0c0430_cpl.xml39
-rw-r--r--test/ref/DCP/bar/ASSETMAP.xml55
-rw-r--r--test/ref/DCP/bar/VOLINDEX.xml4
-rw-r--r--test/ref/DCP/bar/audio.mxfbin0 -> 308398 bytes
-rw-r--r--test/ref/DCP/bar/video.mxfbin0 -> 28840 bytes
-rw-r--r--test/ref/DCP/foo/81fb54df-e1bf-4647-8788-ea7ba154375b_cpl.xml39
-rw-r--r--test/ref/DCP/foo/ASSETMAP.xml55
-rw-r--r--test/ref/DCP/foo/VOLINDEX.xml4
-rw-r--r--test/ref/DCP/foo/audio.mxfbin0 -> 305326 bytes
-rw-r--r--test/ref/DCP/foo/df0e4141-13c3-4a7a-bef8-b5a04fcbc4bb_pkl.xml30
-rw-r--r--test/ref/DCP/foo/video.mxfbin0 -> 26080 bytes
-rw-r--r--test/tests.cc31
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
new file mode 100644
index 00000000..1188e5fc
--- /dev/null
+++ b/test/ref/DCP/bar/audio.mxf
Binary files differ
diff --git a/test/ref/DCP/bar/video.mxf b/test/ref/DCP/bar/video.mxf
new file mode 100644
index 00000000..20eb6f4a
--- /dev/null
+++ b/test/ref/DCP/bar/video.mxf
Binary files differ
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
new file mode 100644
index 00000000..9bc735af
--- /dev/null
+++ b/test/ref/DCP/foo/audio.mxf
Binary files differ
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
new file mode 100644
index 00000000..645fb85a
--- /dev/null
+++ b/test/ref/DCP/foo/video.mxf
Binary files differ
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"
+ );
+}