No more parameterized tests linkage warnings.
[ Merge of http://go/wvgerrit/85153 ] Issues addressed in this CL: 1) Linkage warnings in g++ 2) Inconsistent `override` with clang++ 3) Test variable names Some of our tests use types defined in test-local anonymous namespace. For our tests setup, this does not cause any linkage issues; however, g++ produces warnings about it. The options were to suppress it with `-Wno-subobject-linkage`, or to change the tests to avoid even the potential of a linkage error. There were additional warnings showing up about the use of `override` on derived mock classes. The solution was simply to remove the `override` qualifier on `MockFile`'s destructor. Some of the test data variables were using snake_case, here I switched it to kConstantCamelCase. Bug: 139808919 Test: Compiling with gcc, Linux unittests and Android unittests Change-Id: Ic3f82a6db7fad990ffe49186914084b039ec8a14
This commit is contained in:
@@ -131,18 +131,15 @@ struct LicenseInfo {
|
||||
std::string file_data;
|
||||
};
|
||||
|
||||
size_t kNumberOfLicenses = 3;
|
||||
|
||||
// Sample license data and related data for storage and use for offline
|
||||
// playback. The license data and URLs in this test are not real. Test
|
||||
// storage and retrieval of license-related data.
|
||||
LicenseInfo license_test_data[] = {
|
||||
const LicenseInfo kLicenseTestData[] = {
|
||||
|
||||
// license 0
|
||||
{"ksid54C57C966E23CEF5", DeviceFiles::kLicenseStateActive,
|
||||
a2bs_hex("0801121030313233343536373839414243444546"),
|
||||
a2bs_hex(
|
||||
"080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
a2bs_hex("080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
"C4D07A7D507618A5D3A68F05228E023082010A0282010100A947904B8DBD"
|
||||
"55FB685FDB3025574517CCCC74EE4FEAF6629D5179A52FF85CE7409528EF"
|
||||
"FA0E5DFC3DE9A34BA5F08BE349553C319A9FB274905A8770ADC9CA4A2CBC"
|
||||
@@ -203,8 +200,7 @@ LicenseInfo license_test_data[] = {
|
||||
"39FA1E7AE925B494B361F6F7116F20BE8EE6E446146027F4FD4300F4A0B0"
|
||||
"A3361EE34925F338D0AACF20AE919B4BAE81C1D57A8D2B8FA38732A57697"
|
||||
"C316C180717C182A971C94E4AC4C7DF8F161CB8CC1"),
|
||||
a2bs_hex(
|
||||
"080212CC020A190A0939383736353433323112084B9F26DAB8B06E112002"
|
||||
a2bs_hex("080212CC020A190A0939383736353433323112084B9F26DAB8B06E112002"
|
||||
"2800124108011801301E4239687474703A2F2F6B69723033666370673137"
|
||||
"342E7769646576696E652E6E65742F7769646576696E652F6367692D6269"
|
||||
"6E2F64726D2E6367691A6612102531DFD6CCEA511D00F8C0172F1189AA1A"
|
||||
@@ -225,12 +221,10 @@ LicenseInfo license_test_data[] = {
|
||||
"6294860DFB4F4C42D57D9542B76179E179DD4AA23F9F7B2AE432B39E4CE8"
|
||||
"F156E84877DDA781AAAAFC797FF75AFE2019ADC3A2E419BF0253C705BD47"
|
||||
"97A96866AC4C059AD8F2E9C6B617C60C6ADCDB894C25F0C7D29252F52FD5"),
|
||||
a2bs_hex(
|
||||
"08011231121D1A1B0A190A0939383736353433323112084B9F26DAB8B06E"
|
||||
a2bs_hex("08011231121D1A1B0A190A0939383736353433323112084B9F26DAB8B06E"
|
||||
"112002280018022A0C31353532333030360000000030151A20C30375683C"
|
||||
"4D2033E05DCC95DDFB278CFB5125A021C3C043A16ACC933A768A27"),
|
||||
a2bs_hex(
|
||||
"0802123B0A190A0939383736353433323112084B9F26DAB8B06E11200228"
|
||||
a2bs_hex("0802123B0A190A0939383736353433323112084B9F26DAB8B06E11200228"
|
||||
"0112001A16200342120A106B63746C0000000000ECDCBE0000000020DBDF"
|
||||
"A68F051A20182F029E35047A3841FA176C74E5B387350E8D58DEA6878FF0"
|
||||
"BEA6CABACA1C2C"),
|
||||
@@ -316,14 +310,12 @@ LicenseInfo license_test_data[] = {
|
||||
"A176C74E5B387350E8D58DEA6878FF0BEA6CABACA1C2C3A2E68747470733A2F2F7465"
|
||||
"73742E676F6F676C652E636F6D2F6C6963656E73652F47657443656E634C6963656E7"
|
||||
"365400048005800620068001220785CE1756656A049E77F28C8449AB2DD115B6C43B2"
|
||||
"FF232D23F98B72F1DCE96A"
|
||||
)},
|
||||
"FF232D23F98B72F1DCE96A")},
|
||||
|
||||
// license 1
|
||||
{"ksidC8EAA2579A282EB0", DeviceFiles::kLicenseStateReleasing,
|
||||
a2bs_hex("0801121030313233343536373839414243444546"),
|
||||
a2bs_hex(
|
||||
"080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
a2bs_hex("080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
"C4D07A7D507618A5D3A68F05228E023082010A0282010100A947904B8DBD"
|
||||
"55FB685FDB3025574517CCCC74EE4FEAF6629D5179A52FF85CE7409528EF"
|
||||
"FA0E5DFC3DE9A34BA5F08BE349553C319A9FB274905A8770ADC9CA4A2CBC"
|
||||
@@ -384,8 +376,7 @@ LicenseInfo license_test_data[] = {
|
||||
"0D1706B0B851B3FCAF7AC2370EAD80C5D1620887633A42024862FCEA9F95"
|
||||
"A719AAB989C1923C6452ECB0B75AF1CAFBFB06C5EC31BBF0EE4D16ACCC9A"
|
||||
"F05B77D61C4855491B3D4AC150F3BCB7AE536AF333"),
|
||||
a2bs_hex(
|
||||
"080212CC020A190A093938373635343332311208F97F2B3856CBB3DD2002"
|
||||
a2bs_hex("080212CC020A190A093938373635343332311208F97F2B3856CBB3DD2002"
|
||||
"2800124108011801301E4239687474703A2F2F6B69723033666370673137"
|
||||
"342E7769646576696E652E6E65742F7769646576696E652F6367692D6269"
|
||||
"6E2F64726D2E6367691A661210C5C43FE0178AEE7B85042F749D5A40251A"
|
||||
@@ -406,12 +397,10 @@ LicenseInfo license_test_data[] = {
|
||||
"87CF9841D186BC95A65956BAD48F3C9E43F027CC03B73DFF5CAFC0B64727"
|
||||
"E2D7B3A9CF25F97C475207C8A9DF091A585288A71AE64B7B2089871F7272"
|
||||
"381CCBEF55EBF3DCB21B134FE48BFD5299DCCA6B01B55EEA61F9F990D0AF"),
|
||||
a2bs_hex(
|
||||
"08011231121D1A1B0A190A093938373635343332311208F97F2B3856CBB3"
|
||||
a2bs_hex("08011231121D1A1B0A190A093938373635343332311208F97F2B3856CBB3"
|
||||
"DD2002280018022A0C33333932383235393733000030151A209ADE9B0A41"
|
||||
"1583962BDA31BE5BE937E589BB3DCC06F6F4C48FBE4FAE86DC9ABA"),
|
||||
a2bs_hex(
|
||||
"0802123B0A190A093938373635343332311208F97F2B3856CBB3DD200228"
|
||||
a2bs_hex("0802123B0A190A093938373635343332311208F97F2B3856CBB3DD200228"
|
||||
"0112001A16200342120A106B63746C00000000CA3A6A75000000002083E5"
|
||||
"A68F051A20BDA6A56F7CBFD0942198F87C23A34AA5CBD64AFEB134277774"
|
||||
"CCF8E789D815DD"),
|
||||
@@ -509,8 +498,7 @@ LicenseInfo license_test_data[] = {
|
||||
// license 2
|
||||
{"ksidE8C37662C88DC673", DeviceFiles::kLicenseStateReleasing,
|
||||
a2bs_hex("0801121030313233343536373839414243444546"),
|
||||
a2bs_hex(
|
||||
"080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
a2bs_hex("080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
"C4D07A7D507618A5D3A68F05228E023082010A0282010100A947904B8DBD"
|
||||
"55FB685FDB3025574517CCCC74EE4FEAF6629D5179A52FF85CE7409528EF"
|
||||
"FA0E5DFC3DE9A34BA5F08BE349553C319A9FB274905A8770ADC9CA4A2CBC"
|
||||
@@ -571,8 +559,7 @@ LicenseInfo license_test_data[] = {
|
||||
"0615A55523305BC64DDFF52A87BD0DE9EEAB6445C5A1847E5E6FE8D640C7"
|
||||
"B07F3B066B911793F06E973A02FA6EDD274570C4CA982D353F1E72A5B776"
|
||||
"95D554B4FB554B46F5FA5B3B00805C136A9ED21FC2"),
|
||||
a2bs_hex(
|
||||
"080212CC020A190A0939383736353433323112087AD49366C8D919132002"
|
||||
a2bs_hex("080212CC020A190A0939383736353433323112087AD49366C8D919132002"
|
||||
"2800124108011801301E4239687474703A2F2F6B69723033666370673137"
|
||||
"342E7769646576696E652E6E65742F7769646576696E652F6367692D6269"
|
||||
"6E2F64726D2E6367691A6612109161841718D5D0A4C4368820F4D030721A"
|
||||
@@ -593,12 +580,10 @@ LicenseInfo license_test_data[] = {
|
||||
"222AC08DCBD36077E0459D940BAE84ABA584700C02E70F3AE034ED7B764C"
|
||||
"6EE5E85663D657270C9AB40D3109920AB1C1C5DA1358E384EDF673253C04"
|
||||
"F20AA6B0CC98F421A4CD86C4C88042B0DE9902D5D00B6AD817B1A313ED5B"),
|
||||
a2bs_hex(
|
||||
"08011231121D1A1B0A190A0939383736353433323112087AD49366C8D919"
|
||||
a2bs_hex("08011231121D1A1B0A190A0939383736353433323112087AD49366C8D919"
|
||||
"132002280018022A0C35333631323234343600000030151A208CC3C7D328"
|
||||
"DFACD43764C9FB582B858C8FF1D9863FF59C4D983478DB858AC32A"),
|
||||
a2bs_hex(
|
||||
"0802123B0A190A0939383736353433323112087AD49366C8D91913200228"
|
||||
a2bs_hex("0802123B0A190A0939383736353433323112087AD49366C8D91913200228"
|
||||
"0112001A16200342120A106B63746C000000001FF4944E000000002082E7"
|
||||
"A68F051A2041EF0A9267D613D17AA90E1D1DA5BE091860E5E296D41D6D0F"
|
||||
"75E73660C279B3"),
|
||||
@@ -693,17 +678,18 @@ LicenseInfo license_test_data[] = {
|
||||
"8006240000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E"
|
||||
"1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F680"
|
||||
"C12206AA0237760D1F06E5CB78F5AFC3D124BBF7C26921CB3CC2EA44766801E25D34"
|
||||
"F")}};
|
||||
"F")}}; // kLicenseTestData
|
||||
|
||||
constexpr size_t kNumberOfLicenses = ArraySize(kLicenseTestData);
|
||||
|
||||
// Sample license data and related data for storage and use for offline
|
||||
// playback. The license data and URLs in this test are not real.
|
||||
// The data is used to test license-related functions.
|
||||
LicenseInfo license_update_test_data[] = {
|
||||
const LicenseInfo kLicenseUpdateTestData[] = {
|
||||
// active license
|
||||
{"key_set_id_: ksid2A048BC7FAEC885A", DeviceFiles::kLicenseStateActive,
|
||||
a2bs_hex("0801121030313233343536373839414243444546"),
|
||||
a2bs_hex(
|
||||
"080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
a2bs_hex("080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
"C4D07A7D5076189EDFB68F05228E023082010A0282010100CC1715C81AD3"
|
||||
"F6F279C686F826E6D7C8961EB13318367D06B4061BBC57E3C616A226A10F"
|
||||
"042CAD54D44C6484C725CD721A2A97C088E60AFF0E9C8E03477A1B56B4C5"
|
||||
@@ -764,8 +750,7 @@ LicenseInfo license_update_test_data[] = {
|
||||
"EC3AA5881FF433E80838E1E1FA23CE7F22346DDDF7FEC3DB0CE2C3F845CF"
|
||||
"9471088A022C8D0A63860764AE558BD0B5F66D78881ADBF2D398F9BA349E"
|
||||
"FB2532C61E243DD45BB11C99422D13A82B7AAE9671"),
|
||||
a2bs_hex(
|
||||
"080212CC020A190A09393837363534333231120892BE96420F0D5BF32002"
|
||||
a2bs_hex("080212CC020A190A09393837363534333231120892BE96420F0D5BF32002"
|
||||
"2800124108011801301E4239687474703A2F2F6B69723033666370673137"
|
||||
"342E7769646576696E652E6E65742F7769646576696E652F6367692D6269"
|
||||
"6E2F64726D2E6367691A661210BB2E2D2B9C39697794897E08262749B41A"
|
||||
@@ -786,12 +771,10 @@ LicenseInfo license_update_test_data[] = {
|
||||
"B161F4D198A0279DA19D7001EB2D20C70ABAA04B3760CB165006F6CBA4BE"
|
||||
"0A2628C0C8398C122FF0DCF9292590E3C37BC7DB20F3B0921268F41FE76B"
|
||||
"D3EE764EBA13A22FDABC170860503FB93CC4A08D61102519D56A25EB9E30"),
|
||||
a2bs_hex(
|
||||
"08011231121D1A1B0A190A09393837363534333231120892BE96420F0D5B"
|
||||
a2bs_hex("08011231121D1A1B0A190A09393837363534333231120892BE96420F0D5B"
|
||||
"F32002280018022A0C31393132353333373731000030151A20F4FDBECE54"
|
||||
"7252D12BB9D488DAD50C76577A2FBCCC73F36D3C6B35096B8A3DC6"),
|
||||
a2bs_hex(
|
||||
"0802123B0A190A09393837363534333231120892BE96420F0D5BF3200228"
|
||||
a2bs_hex("0802123B0A190A09393837363534333231120892BE96420F0D5BF3200228"
|
||||
"0112001A16200342120A106B63746C0000000071FEF30B0000000020F4DF"
|
||||
"B68F051A2000351030900858FCFD6977B67803ADFD1280AA661E6B0BD30B"
|
||||
"08B2C467355129"),
|
||||
@@ -972,17 +955,17 @@ LicenseInfo license_update_test_data[] = {
|
||||
"36540EF9BAFCDF8ACD1910148DCFDAFCDF8ACD1910158006230000102030405060708"
|
||||
"090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2"
|
||||
"B2C2D2E2F680F12202F5B77A3168AC2A81832231A435D0587F6D1DF3B905A7058C5E8"
|
||||
"565C81B96CA6")}};
|
||||
"565C81B96CA6")}}; // kLicenseUpdateTestData
|
||||
|
||||
// Application parameters were added to the License message. This data
|
||||
// is used to verify that a License saved without application parameters can
|
||||
// be read out correctly by an updated version of the CDM.
|
||||
LicenseInfo license_app_parameters_backwards_compatibility_test_data = {
|
||||
const LicenseInfo kLicenseAppParametersBackwardsCompatibilityTestData = {
|
||||
|
||||
"ksid54C57C966E23CEF5", DeviceFiles::kLicenseStateActive,
|
||||
"ksid54C57C966E23CEF5",
|
||||
DeviceFiles::kLicenseStateActive,
|
||||
a2bs_hex("0801121030313233343536373839414243444546"),
|
||||
a2bs_hex(
|
||||
"080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
a2bs_hex("080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591B"
|
||||
"C4D07A7D507618A5D3A68F05228E023082010A0282010100A947904B8DBD"
|
||||
"55FB685FDB3025574517CCCC74EE4FEAF6629D5179A52FF85CE7409528EF"
|
||||
"FA0E5DFC3DE9A34BA5F08BE349553C319A9FB274905A8770ADC9CA4A2CBC"
|
||||
@@ -1043,8 +1026,7 @@ LicenseInfo license_app_parameters_backwards_compatibility_test_data = {
|
||||
"39FA1E7AE925B494B361F6F7116F20BE8EE6E446146027F4FD4300F4A0B0"
|
||||
"A3361EE34925F338D0AACF20AE919B4BAE81C1D57A8D2B8FA38732A57697"
|
||||
"C316C180717C182A971C94E4AC4C7DF8F161CB8CC1"),
|
||||
a2bs_hex(
|
||||
"080212CC020A190A0939383736353433323112084B9F26DAB8B06E112002"
|
||||
a2bs_hex("080212CC020A190A0939383736353433323112084B9F26DAB8B06E112002"
|
||||
"2800124108011801301E4239687474703A2F2F6B69723033666370673137"
|
||||
"342E7769646576696E652E6E65742F7769646576696E652F6367692D6269"
|
||||
"6E2F64726D2E6367691A6612102531DFD6CCEA511D00F8C0172F1189AA1A"
|
||||
@@ -1065,16 +1047,20 @@ LicenseInfo license_app_parameters_backwards_compatibility_test_data = {
|
||||
"6294860DFB4F4C42D57D9542B76179E179DD4AA23F9F7B2AE432B39E4CE8"
|
||||
"F156E84877DDA781AAAAFC797FF75AFE2019ADC3A2E419BF0253C705BD47"
|
||||
"97A96866AC4C059AD8F2E9C6B617C60C6ADCDB894C25F0C7D29252F52FD5"),
|
||||
a2bs_hex(
|
||||
"08011231121D1A1B0A190A0939383736353433323112084B9F26DAB8B06E"
|
||||
a2bs_hex("08011231121D1A1B0A190A0939383736353433323112084B9F26DAB8B06E"
|
||||
"112002280018022A0C31353532333030360000000030151A20C30375683C"
|
||||
"4D2033E05DCC95DDFB278CFB5125A021C3C043A16ACC933A768A27"),
|
||||
a2bs_hex(
|
||||
"0802123B0A190A0939383736353433323112084B9F26DAB8B06E11200228"
|
||||
a2bs_hex("0802123B0A190A0939383736353433323112084B9F26DAB8B06E11200228"
|
||||
"0112001A16200342120A106B63746C0000000000ECDCBE0000000020DBDF"
|
||||
"A68F051A20182F029E35047A3841FA176C74E5B387350E8D58DEA6878FF0"
|
||||
"BEA6CABACA1C2C"),
|
||||
"https://test.google.com/license/GetCencLicense", 0x0, 0x0, 0x0, "", "", 0,
|
||||
"https://test.google.com/license/GetCencLicense",
|
||||
0x0,
|
||||
0x0,
|
||||
0x0,
|
||||
"",
|
||||
"",
|
||||
0,
|
||||
a2bs_hex(
|
||||
"0AA8150802100122A1150801121408011210303132333435363738394142434445461"
|
||||
"A9D0E080112950C0AD70B080112EF090AB002080212103E560EC5335E346F591BC4D0"
|
||||
@@ -1156,14 +1142,14 @@ LicenseInfo license_app_parameters_backwards_compatibility_test_data = {
|
||||
"A176C74E5B387350E8D58DEA6878FF0BEA6CABACA1C2C3A2E68747470733A2F2F7465"
|
||||
"73742E676F6F676C652E636F6D2F6C6963656E73652F47657443656E634C6963656E7"
|
||||
"365400048001220CD0599C2B85D9F2D573AC7893CE77CB5A10B326828BA8C89047505"
|
||||
"A8C9B606AC")};
|
||||
"A8C9B606AC")}; // kLicenseAppParametersBackwardsCompatibilityTestData
|
||||
|
||||
struct DeviceFilesTestListUsageInfoData {
|
||||
std::string file_name;
|
||||
bool is_usage_info_file;
|
||||
};
|
||||
|
||||
DeviceFilesTestListUsageInfoData kTestListUsageInfoData[] = {
|
||||
const DeviceFilesTestListUsageInfoData kTestListUsageInfoData[] = {
|
||||
{"ksid056fe6e9c.lic", false}, {"usage.bin", true},
|
||||
{"cert.bin", false}, {"usage345agdf==.bin", true},
|
||||
{"usageyd6e.lic", false}, {"usgtable.bin", false},
|
||||
@@ -1176,11 +1162,11 @@ struct UsageInfo {
|
||||
std::string file_data;
|
||||
};
|
||||
|
||||
std::string kEmptyUsageInfoFileData = a2bs_hex(
|
||||
const std::string kEmptyUsageInfoFileData = a2bs_hex(
|
||||
"0A06080310012A001220468A9A97B23D0E17147416276CB133175F0A18534155C6FFEF024A"
|
||||
"D80371D7C4");
|
||||
|
||||
UsageInfo kUsageInfoTestData[] = {
|
||||
const UsageInfo kUsageInfoTestData[] = {
|
||||
// test vector 0, app id: "", usage entry 0
|
||||
{"",
|
||||
{
|
||||
@@ -1819,9 +1805,9 @@ UsageInfo kUsageInfoTestData[] = {
|
||||
"E0F5249CD19996DA674E33722902173D45D709914A3D7E898D93170317BFCFF34861C"
|
||||
"0D687048CC93542A75A2C99B2323FAFEA1EE0C3E3D24EDF263330071220B174821B32"
|
||||
"5B0A6A900AD8C660C755D3B0273CA6E81D70E2C548CDEC07BE53FA")},
|
||||
};
|
||||
}; // kUsageInfoTestData
|
||||
|
||||
DeviceFiles::CdmUsageData kUsageInfoUpdateTestData = {
|
||||
const DeviceFiles::CdmUsageData kUsageInfoUpdateTestData = {
|
||||
a2bs_hex("b8e7f26b6b83d6b74386d1886d9888bd81fe3241bca928f09407329814ae"
|
||||
"5a82"),
|
||||
a2bs_hex("4463dc57079c27e34ae115c6f65b08f6311c4ea604a6512c42470b6f692a"
|
||||
@@ -1853,7 +1839,7 @@ DeviceFiles::CdmUsageData kUsageInfoUpdateTestData = {
|
||||
"003b12a3855016c8a03c9a406094d80059ef4ca26f1928fa2a3f0782c72d"
|
||||
"ba0e2228a70e2e150afb66e305e4bc0b2561ae2b"),
|
||||
6,
|
||||
};
|
||||
}; // kUsageInfoUpdateTestData
|
||||
|
||||
struct HlsAttributesInfo {
|
||||
std::string key_set_id;
|
||||
@@ -1862,49 +1848,65 @@ struct HlsAttributesInfo {
|
||||
std::string file_data;
|
||||
};
|
||||
|
||||
HlsAttributesInfo kHlsAttributesTestData[] = {
|
||||
const HlsAttributesInfo kHlsAttributesTestData[] = {
|
||||
{
|
||||
"ksidC8EAA2579A282EB0", kHlsMethodAes128, // hls attributes 0
|
||||
"ksidC8EAA2579A282EB0",
|
||||
kHlsMethodAes128, // hls attributes 0
|
||||
a2bs_hex("F7C4D15BD466BF285E241A4E58638543"),
|
||||
a2bs_hex("0A1A08041001321408011210F7C4D15BD466BF285E241A4E5863854312201"
|
||||
"39114B0372FF80FADF92614106E27BE8BD1588B4CAE6E1AEFB7F9C34EA52E"
|
||||
"CC"),
|
||||
},
|
||||
{
|
||||
"ksidE8C37662C88DC673", kHlsMethodSampleAes, // hls attributes 1
|
||||
"ksidE8C37662C88DC673",
|
||||
kHlsMethodSampleAes, // hls attributes 1
|
||||
a2bs_hex("16413F038088438B5D4CD99F03EBB3D8"),
|
||||
a2bs_hex("0A1A0804100132140802121016413F038088438B5D4CD99F03EBB3D812205"
|
||||
"9EA13188B75C55D1EB78B3A65DB3EA3F43BD1B16642266D988E3543943C5F"
|
||||
"41"),
|
||||
}};
|
||||
|
||||
constexpr size_t kNumberOfHlsAttributes = ArraySize(kHlsAttributesTestData);
|
||||
|
||||
// Usage Table and Entry Test Data
|
||||
// Note: Make sure the number of entries in kUsageEntriesTestData and
|
||||
// kUsageTableInfoTestData are equal.
|
||||
CdmUsageEntryInfo kUsageEntriesTestData[] = {
|
||||
const CdmUsageEntryInfo kUsageEntriesTestData[] = {
|
||||
// usage entry 0
|
||||
{
|
||||
kStorageLicense, "ksid0", "",
|
||||
kStorageLicense,
|
||||
"ksid0",
|
||||
"",
|
||||
},
|
||||
// usage entry 1
|
||||
{
|
||||
kStorageLicense, "ksid1", "",
|
||||
kStorageLicense,
|
||||
"ksid1",
|
||||
"",
|
||||
},
|
||||
// usage entry 2
|
||||
{
|
||||
kStorageUsageInfo, "", "app_id_2",
|
||||
kStorageUsageInfo,
|
||||
"",
|
||||
"app_id_2",
|
||||
},
|
||||
// usage entry 3
|
||||
{
|
||||
kStorageUsageInfo, "", "app_id_3",
|
||||
kStorageUsageInfo,
|
||||
"",
|
||||
"app_id_3",
|
||||
},
|
||||
// usage entry 4
|
||||
{
|
||||
kStorageLicense, "ksid4", "",
|
||||
kStorageLicense,
|
||||
"ksid4",
|
||||
"",
|
||||
},
|
||||
// usage entry 5
|
||||
{
|
||||
kStorageUsageInfo, "", "app_id_5",
|
||||
kStorageUsageInfo,
|
||||
"",
|
||||
"app_id_5",
|
||||
},
|
||||
|
||||
};
|
||||
@@ -1914,7 +1916,7 @@ struct UsageTableTestInfo {
|
||||
std::string file_data;
|
||||
};
|
||||
|
||||
UsageTableTestInfo kUsageTableInfoTestData[] = {
|
||||
const UsageTableTestInfo kUsageTableInfoTestData[] = {
|
||||
// usage table 0
|
||||
|
||||
{a2bs_hex("5574517CCC"),
|
||||
@@ -1962,7 +1964,7 @@ UsageTableTestInfo kUsageTableInfoTestData[] = {
|
||||
class MockFile : public File {
|
||||
public:
|
||||
MockFile() {}
|
||||
~MockFile() override {}
|
||||
~MockFile() {}
|
||||
|
||||
MOCK_METHOD2(Read, ssize_t(char*, size_t));
|
||||
MOCK_METHOD2(Write, ssize_t(const char*, size_t));
|
||||
@@ -2015,11 +2017,11 @@ class DeviceFilesTest : public ::testing::Test {
|
||||
&device_base_path_));
|
||||
}
|
||||
|
||||
size_t GetLicenseDataSize(LicenseInfo& data) {
|
||||
size_t GetLicenseDataSize(const LicenseInfo& data) {
|
||||
CdmAppParameterMap app_parameters = GetAppParameters(data.app_parameters);
|
||||
size_t app_parameters_len = 0;
|
||||
CdmAppParameterMap::const_iterator itr = app_parameters.begin();
|
||||
for (itr = app_parameters.begin(); itr != app_parameters.end(); ++itr) {
|
||||
for (auto itr = app_parameters.cbegin(); itr != app_parameters.cend();
|
||||
++itr) {
|
||||
app_parameters_len += itr->first.length();
|
||||
app_parameters_len += itr->second.length();
|
||||
}
|
||||
@@ -2071,7 +2073,7 @@ class DeviceFilesUsageInfoTest : public DeviceFilesTest,
|
||||
|
||||
class DeviceFilesHlsAttributesTest
|
||||
: public DeviceFilesTest,
|
||||
public ::testing::WithParamInterface<HlsAttributesInfo*> {};
|
||||
public ::testing::WithParamInterface<size_t> {};
|
||||
|
||||
class DeviceFilesUsageTableTest : public DeviceFilesTest,
|
||||
public ::testing::WithParamInterface<int> {};
|
||||
@@ -2268,26 +2270,26 @@ TEST_P(DeviceFilesStoreTest, StoreLicense) {
|
||||
MockFileSystem file_system;
|
||||
size_t license_num = 0;
|
||||
std::string license_path = device_base_path_ +
|
||||
license_test_data[license_num].key_set_id +
|
||||
kLicenseTestData[license_num].key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
|
||||
CdmAppParameterMap app_parameters =
|
||||
GetAppParameters(license_test_data[license_num].app_parameters);
|
||||
GetAppParameters(kLicenseTestData[license_num].app_parameters);
|
||||
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
EXPECT_CALL(file_system, DoOpen(StrEq(license_path), IsCreateFileFlagSet()))
|
||||
.WillOnce(Return(file));
|
||||
EXPECT_CALL(
|
||||
*file, Write(Contains(license_test_data[license_num].pssh_data,
|
||||
license_test_data[license_num].key_request,
|
||||
license_test_data[license_num].key_response,
|
||||
license_test_data[license_num].key_renewal_request,
|
||||
license_test_data[license_num].key_renewal_response,
|
||||
license_test_data[license_num].key_release_url,
|
||||
app_parameters,
|
||||
license_test_data[license_num].usage_entry),
|
||||
Gt(GetLicenseDataSize(license_test_data[license_num]))))
|
||||
*file,
|
||||
Write(Contains(kLicenseTestData[license_num].pssh_data,
|
||||
kLicenseTestData[license_num].key_request,
|
||||
kLicenseTestData[license_num].key_response,
|
||||
kLicenseTestData[license_num].key_renewal_request,
|
||||
kLicenseTestData[license_num].key_renewal_response,
|
||||
kLicenseTestData[license_num].key_release_url,
|
||||
app_parameters, kLicenseTestData[license_num].usage_entry),
|
||||
Gt(GetLicenseDataSize(kLicenseTestData[license_num]))))
|
||||
.WillOnce(ReturnArg<1>());
|
||||
EXPECT_CALL(*file, Read(_, _)).Times(0);
|
||||
|
||||
@@ -2295,20 +2297,20 @@ TEST_P(DeviceFilesStoreTest, StoreLicense) {
|
||||
DeviceFiles device_files(&file_system);
|
||||
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
|
||||
DeviceFiles::CdmLicenseData license_data{
|
||||
license_test_data[license_num].key_set_id,
|
||||
license_test_data[license_num].license_state,
|
||||
license_test_data[license_num].pssh_data,
|
||||
license_test_data[license_num].key_request,
|
||||
license_test_data[license_num].key_response,
|
||||
license_test_data[license_num].key_renewal_request,
|
||||
license_test_data[license_num].key_renewal_response,
|
||||
license_test_data[license_num].key_release_url,
|
||||
license_test_data[license_num].playback_start_time,
|
||||
license_test_data[license_num].last_playback_time,
|
||||
license_test_data[license_num].grace_period_end_time,
|
||||
kLicenseTestData[license_num].key_set_id,
|
||||
kLicenseTestData[license_num].license_state,
|
||||
kLicenseTestData[license_num].pssh_data,
|
||||
kLicenseTestData[license_num].key_request,
|
||||
kLicenseTestData[license_num].key_response,
|
||||
kLicenseTestData[license_num].key_renewal_request,
|
||||
kLicenseTestData[license_num].key_renewal_response,
|
||||
kLicenseTestData[license_num].key_release_url,
|
||||
kLicenseTestData[license_num].playback_start_time,
|
||||
kLicenseTestData[license_num].last_playback_time,
|
||||
kLicenseTestData[license_num].grace_period_end_time,
|
||||
app_parameters,
|
||||
license_test_data[license_num].usage_entry,
|
||||
license_test_data[license_num].usage_entry_number};
|
||||
kLicenseTestData[license_num].usage_entry,
|
||||
kLicenseTestData[license_num].usage_entry_number};
|
||||
EXPECT_TRUE(device_files.StoreLicense(license_data, &sub_error_code));
|
||||
EXPECT_EQ(DeviceFiles::kNoError, sub_error_code);
|
||||
}
|
||||
@@ -2320,26 +2322,26 @@ TEST_F(DeviceFilesTest, StoreLicenses) {
|
||||
|
||||
for (size_t i = 0; i < kNumberOfLicenses; ++i) {
|
||||
std::string license_path = device_base_path_ +
|
||||
license_test_data[i].key_set_id +
|
||||
kLicenseTestData[i].key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
|
||||
CdmAppParameterMap app_parameters =
|
||||
GetAppParameters(license_test_data[i].app_parameters);
|
||||
GetAppParameters(kLicenseTestData[i].app_parameters);
|
||||
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
EXPECT_CALL(file_system, DoOpen(StrEq(license_path), IsCreateFileFlagSet()))
|
||||
.WillOnce(Return(file));
|
||||
|
||||
EXPECT_CALL(
|
||||
*file, Write(Contains(license_test_data[i].pssh_data,
|
||||
license_test_data[i].key_request,
|
||||
license_test_data[i].key_response,
|
||||
license_test_data[i].key_renewal_request,
|
||||
license_test_data[i].key_renewal_response,
|
||||
license_test_data[i].key_release_url,
|
||||
app_parameters, license_test_data[i].usage_entry),
|
||||
Gt(GetLicenseDataSize(license_test_data[i]))))
|
||||
EXPECT_CALL(*file,
|
||||
Write(Contains(kLicenseTestData[i].pssh_data,
|
||||
kLicenseTestData[i].key_request,
|
||||
kLicenseTestData[i].key_response,
|
||||
kLicenseTestData[i].key_renewal_request,
|
||||
kLicenseTestData[i].key_renewal_response,
|
||||
kLicenseTestData[i].key_release_url,
|
||||
app_parameters, kLicenseTestData[i].usage_entry),
|
||||
Gt(GetLicenseDataSize(kLicenseTestData[i]))))
|
||||
.WillOnce(ReturnArg<1>());
|
||||
EXPECT_CALL(*file, Read(_, _)).Times(0);
|
||||
}
|
||||
@@ -2349,23 +2351,23 @@ TEST_F(DeviceFilesTest, StoreLicenses) {
|
||||
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
|
||||
for (size_t i = 0; i < kNumberOfLicenses; i++) {
|
||||
CdmAppParameterMap app_parameters =
|
||||
GetAppParameters(license_test_data[i].app_parameters);
|
||||
GetAppParameters(kLicenseTestData[i].app_parameters);
|
||||
|
||||
DeviceFiles::CdmLicenseData license_data{
|
||||
license_test_data[i].key_set_id,
|
||||
license_test_data[i].license_state,
|
||||
license_test_data[i].pssh_data,
|
||||
license_test_data[i].key_request,
|
||||
license_test_data[i].key_response,
|
||||
license_test_data[i].key_renewal_request,
|
||||
license_test_data[i].key_renewal_response,
|
||||
license_test_data[i].key_release_url,
|
||||
license_test_data[i].playback_start_time,
|
||||
license_test_data[i].last_playback_time,
|
||||
license_test_data[i].grace_period_end_time,
|
||||
kLicenseTestData[i].key_set_id,
|
||||
kLicenseTestData[i].license_state,
|
||||
kLicenseTestData[i].pssh_data,
|
||||
kLicenseTestData[i].key_request,
|
||||
kLicenseTestData[i].key_response,
|
||||
kLicenseTestData[i].key_renewal_request,
|
||||
kLicenseTestData[i].key_renewal_response,
|
||||
kLicenseTestData[i].key_release_url,
|
||||
kLicenseTestData[i].playback_start_time,
|
||||
kLicenseTestData[i].last_playback_time,
|
||||
kLicenseTestData[i].grace_period_end_time,
|
||||
app_parameters,
|
||||
license_test_data[i].usage_entry,
|
||||
license_test_data[i].usage_entry_number};
|
||||
kLicenseTestData[i].usage_entry,
|
||||
kLicenseTestData[i].usage_entry_number};
|
||||
EXPECT_TRUE(device_files.StoreLicense(license_data, &sub_error_code));
|
||||
EXPECT_EQ(DeviceFiles::kNoError, sub_error_code);
|
||||
}
|
||||
@@ -2376,10 +2378,10 @@ TEST_F(DeviceFilesTest, RetrieveLicenses) {
|
||||
|
||||
for (size_t i = 0; i < kNumberOfLicenses; ++i) {
|
||||
std::string license_path = device_base_path_ +
|
||||
license_test_data[i].key_set_id +
|
||||
kLicenseTestData[i].key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
|
||||
size_t size = license_test_data[i].file_data.size();
|
||||
size_t size = kLicenseTestData[i].file_data.size();
|
||||
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
@@ -2392,8 +2394,8 @@ TEST_F(DeviceFilesTest, RetrieveLicenses) {
|
||||
.WillOnce(Return(file));
|
||||
EXPECT_CALL(*file, Read(NotNull(), Eq(size)))
|
||||
.WillOnce(
|
||||
DoAll(SetArrayArgument<0>(license_test_data[i].file_data.begin(),
|
||||
license_test_data[i].file_data.end()),
|
||||
DoAll(SetArrayArgument<0>(kLicenseTestData[i].file_data.begin(),
|
||||
kLicenseTestData[i].file_data.end()),
|
||||
Return(size)));
|
||||
EXPECT_CALL(*file, Write(_, _)).Times(0);
|
||||
}
|
||||
@@ -2404,25 +2406,25 @@ TEST_F(DeviceFilesTest, RetrieveLicenses) {
|
||||
DeviceFiles::ResponseType sub_error_code;
|
||||
|
||||
for (size_t i = 0; i < kNumberOfLicenses; i++) {
|
||||
EXPECT_TRUE(device_files.RetrieveLicense(license_test_data[i].key_set_id,
|
||||
EXPECT_TRUE(device_files.RetrieveLicense(kLicenseTestData[i].key_set_id,
|
||||
&license_data, &sub_error_code));
|
||||
EXPECT_EQ(license_test_data[i].key_set_id, license_data.key_set_id);
|
||||
EXPECT_EQ(license_test_data[i].license_state, license_data.state);
|
||||
EXPECT_EQ(license_test_data[i].pssh_data, license_data.pssh_data);
|
||||
EXPECT_EQ(license_test_data[i].key_request, license_data.license_request);
|
||||
EXPECT_EQ(license_test_data[i].key_response, license_data.license);
|
||||
EXPECT_EQ(license_test_data[i].key_renewal_request,
|
||||
EXPECT_EQ(kLicenseTestData[i].key_set_id, license_data.key_set_id);
|
||||
EXPECT_EQ(kLicenseTestData[i].license_state, license_data.state);
|
||||
EXPECT_EQ(kLicenseTestData[i].pssh_data, license_data.pssh_data);
|
||||
EXPECT_EQ(kLicenseTestData[i].key_request, license_data.license_request);
|
||||
EXPECT_EQ(kLicenseTestData[i].key_response, license_data.license);
|
||||
EXPECT_EQ(kLicenseTestData[i].key_renewal_request,
|
||||
license_data.license_renewal_request);
|
||||
EXPECT_EQ(license_test_data[i].key_renewal_response,
|
||||
EXPECT_EQ(kLicenseTestData[i].key_renewal_response,
|
||||
license_data.license_renewal);
|
||||
EXPECT_EQ(license_test_data[i].playback_start_time,
|
||||
EXPECT_EQ(kLicenseTestData[i].playback_start_time,
|
||||
license_data.playback_start_time);
|
||||
EXPECT_EQ(license_test_data[i].last_playback_time,
|
||||
EXPECT_EQ(kLicenseTestData[i].last_playback_time,
|
||||
license_data.last_playback_time);
|
||||
EXPECT_EQ(license_test_data[i].grace_period_end_time,
|
||||
EXPECT_EQ(kLicenseTestData[i].grace_period_end_time,
|
||||
license_data.grace_period_end_time);
|
||||
EXPECT_EQ(license_test_data[i].usage_entry, license_data.usage_entry);
|
||||
EXPECT_EQ(license_test_data[i].usage_entry_number,
|
||||
EXPECT_EQ(kLicenseTestData[i].usage_entry, license_data.usage_entry);
|
||||
EXPECT_EQ(kLicenseTestData[i].usage_entry_number,
|
||||
license_data.usage_entry_number);
|
||||
EXPECT_EQ(DeviceFiles::kNoError, sub_error_code);
|
||||
|
||||
@@ -2430,17 +2432,17 @@ TEST_F(DeviceFilesTest, RetrieveLicenses) {
|
||||
for (itr = license_data.app_parameters.begin();
|
||||
itr != license_data.app_parameters.end(); ++itr) {
|
||||
EXPECT_NE(std::string::npos,
|
||||
license_test_data[i].app_parameters.find(itr->first));
|
||||
kLicenseTestData[i].app_parameters.find(itr->first));
|
||||
EXPECT_NE(std::string::npos,
|
||||
license_test_data[i].app_parameters.find(itr->second));
|
||||
kLicenseTestData[i].app_parameters.find(itr->second));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(DeviceFilesTest, AppParametersBackwardCompatibility) {
|
||||
MockFileSystem file_system;
|
||||
LicenseInfo* test_data =
|
||||
&license_app_parameters_backwards_compatibility_test_data;
|
||||
const LicenseInfo* test_data =
|
||||
&kLicenseAppParametersBackwardsCompatibilityTestData;
|
||||
|
||||
std::string license_path = device_base_path_ + test_data->key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
@@ -2488,36 +2490,36 @@ TEST_F(DeviceFilesTest, AppParametersBackwardCompatibility) {
|
||||
TEST_F(DeviceFilesTest, UpdateLicenseState) {
|
||||
MockFileSystem file_system;
|
||||
std::string license_path = device_base_path_ +
|
||||
license_update_test_data[0].key_set_id +
|
||||
kLicenseUpdateTestData[0].key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
|
||||
DeviceFiles device_files(&file_system);
|
||||
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
|
||||
|
||||
for (size_t i = 0; i < ArraySize(license_update_test_data); i++) {
|
||||
for (size_t i = 0; i < ArraySize(kLicenseUpdateTestData); i++) {
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
EXPECT_CALL(file_system, DoOpen(StrEq(license_path), IsCreateFileFlagSet()))
|
||||
.WillOnce(Return(file));
|
||||
EXPECT_CALL(*file, Write(IsStrEq(license_update_test_data[i].file_data),
|
||||
Eq(license_update_test_data[i].file_data.size())))
|
||||
EXPECT_CALL(*file, Write(IsStrEq(kLicenseUpdateTestData[i].file_data),
|
||||
Eq(kLicenseUpdateTestData[i].file_data.size())))
|
||||
.WillOnce(ReturnArg<1>());
|
||||
EXPECT_CALL(*file, Read(_, _)).Times(0);
|
||||
DeviceFiles::CdmLicenseData license_data{
|
||||
license_update_test_data[0].key_set_id,
|
||||
license_update_test_data[i].license_state,
|
||||
license_update_test_data[0].pssh_data,
|
||||
license_update_test_data[0].key_request,
|
||||
license_update_test_data[0].key_response,
|
||||
license_update_test_data[0].key_renewal_request,
|
||||
license_update_test_data[0].key_renewal_response,
|
||||
license_update_test_data[0].key_release_url,
|
||||
license_update_test_data[0].playback_start_time,
|
||||
license_update_test_data[0].last_playback_time,
|
||||
license_update_test_data[0].grace_period_end_time,
|
||||
GetAppParameters(license_test_data[0].app_parameters),
|
||||
license_update_test_data[0].usage_entry,
|
||||
license_update_test_data[0].usage_entry_number};
|
||||
kLicenseUpdateTestData[0].key_set_id,
|
||||
kLicenseUpdateTestData[i].license_state,
|
||||
kLicenseUpdateTestData[0].pssh_data,
|
||||
kLicenseUpdateTestData[0].key_request,
|
||||
kLicenseUpdateTestData[0].key_response,
|
||||
kLicenseUpdateTestData[0].key_renewal_request,
|
||||
kLicenseUpdateTestData[0].key_renewal_response,
|
||||
kLicenseUpdateTestData[0].key_release_url,
|
||||
kLicenseUpdateTestData[0].playback_start_time,
|
||||
kLicenseUpdateTestData[0].last_playback_time,
|
||||
kLicenseUpdateTestData[0].grace_period_end_time,
|
||||
GetAppParameters(kLicenseTestData[0].app_parameters),
|
||||
kLicenseUpdateTestData[0].usage_entry,
|
||||
kLicenseUpdateTestData[0].usage_entry_number};
|
||||
DeviceFiles::ResponseType sub_error_code;
|
||||
EXPECT_TRUE(device_files.StoreLicense(license_data, &sub_error_code));
|
||||
EXPECT_EQ(DeviceFiles::kNoError, sub_error_code);
|
||||
@@ -2527,10 +2529,10 @@ TEST_F(DeviceFilesTest, UpdateLicenseState) {
|
||||
TEST_F(DeviceFilesTest, DeleteLicense) {
|
||||
MockFileSystem file_system;
|
||||
std::string license_path = device_base_path_ +
|
||||
license_test_data[0].key_set_id +
|
||||
kLicenseTestData[0].key_set_id +
|
||||
DeviceFiles::GetLicenseFileNameExtension();
|
||||
|
||||
size_t size = license_test_data[0].file_data.size();
|
||||
size_t size = kLicenseTestData[0].file_data.size();
|
||||
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
@@ -2543,9 +2545,8 @@ TEST_F(DeviceFilesTest, DeleteLicense) {
|
||||
EXPECT_CALL(file_system, DoOpen(StrEq(license_path), _))
|
||||
.WillOnce(Return(file));
|
||||
EXPECT_CALL(*file, Read(NotNull(), Eq(size)))
|
||||
.WillOnce(
|
||||
DoAll(SetArrayArgument<0>(license_test_data[0].file_data.begin(),
|
||||
license_test_data[0].file_data.end()),
|
||||
.WillOnce(DoAll(SetArrayArgument<0>(kLicenseTestData[0].file_data.begin(),
|
||||
kLicenseTestData[0].file_data.end()),
|
||||
Return(size)));
|
||||
EXPECT_CALL(file_system, Remove(StrEq(license_path))).WillOnce(Return(true));
|
||||
EXPECT_CALL(*file, Write(_, _)).Times(0);
|
||||
@@ -2555,38 +2556,38 @@ TEST_F(DeviceFilesTest, DeleteLicense) {
|
||||
DeviceFiles::CdmLicenseData license_data;
|
||||
DeviceFiles::ResponseType sub_error_code;
|
||||
|
||||
EXPECT_TRUE(device_files.RetrieveLicense(license_test_data[0].key_set_id,
|
||||
EXPECT_TRUE(device_files.RetrieveLicense(kLicenseTestData[0].key_set_id,
|
||||
&license_data, &sub_error_code));
|
||||
EXPECT_EQ(license_test_data[0].key_set_id, license_data.key_set_id);
|
||||
EXPECT_EQ(license_test_data[0].license_state, license_data.state);
|
||||
EXPECT_EQ(license_test_data[0].pssh_data, license_data.pssh_data);
|
||||
EXPECT_EQ(license_test_data[0].key_request, license_data.license_request);
|
||||
EXPECT_EQ(license_test_data[0].key_response, license_data.license);
|
||||
EXPECT_EQ(license_test_data[0].key_renewal_request,
|
||||
EXPECT_EQ(kLicenseTestData[0].key_set_id, license_data.key_set_id);
|
||||
EXPECT_EQ(kLicenseTestData[0].license_state, license_data.state);
|
||||
EXPECT_EQ(kLicenseTestData[0].pssh_data, license_data.pssh_data);
|
||||
EXPECT_EQ(kLicenseTestData[0].key_request, license_data.license_request);
|
||||
EXPECT_EQ(kLicenseTestData[0].key_response, license_data.license);
|
||||
EXPECT_EQ(kLicenseTestData[0].key_renewal_request,
|
||||
license_data.license_renewal_request);
|
||||
EXPECT_EQ(license_test_data[0].key_renewal_response,
|
||||
EXPECT_EQ(kLicenseTestData[0].key_renewal_response,
|
||||
license_data.license_renewal);
|
||||
EXPECT_EQ(license_test_data[0].playback_start_time,
|
||||
EXPECT_EQ(kLicenseTestData[0].playback_start_time,
|
||||
license_data.playback_start_time);
|
||||
EXPECT_EQ(license_test_data[0].last_playback_time,
|
||||
EXPECT_EQ(kLicenseTestData[0].last_playback_time,
|
||||
license_data.last_playback_time);
|
||||
EXPECT_EQ(license_test_data[0].grace_period_end_time,
|
||||
EXPECT_EQ(kLicenseTestData[0].grace_period_end_time,
|
||||
license_data.grace_period_end_time);
|
||||
std::map<std::string, std::string>::iterator itr;
|
||||
for (itr = license_data.app_parameters.begin();
|
||||
itr != license_data.app_parameters.end(); ++itr) {
|
||||
EXPECT_NE(license_test_data[0].app_parameters.find(itr->first),
|
||||
EXPECT_NE(kLicenseTestData[0].app_parameters.find(itr->first),
|
||||
std::string::npos);
|
||||
EXPECT_NE(license_test_data[0].app_parameters.find(itr->second),
|
||||
EXPECT_NE(kLicenseTestData[0].app_parameters.find(itr->second),
|
||||
std::string::npos);
|
||||
}
|
||||
EXPECT_EQ(license_test_data[0].usage_entry, license_data.usage_entry);
|
||||
EXPECT_EQ(license_test_data[0].usage_entry_number,
|
||||
EXPECT_EQ(kLicenseTestData[0].usage_entry, license_data.usage_entry);
|
||||
EXPECT_EQ(kLicenseTestData[0].usage_entry_number,
|
||||
license_data.usage_entry_number);
|
||||
EXPECT_EQ(DeviceFiles::kNoError, sub_error_code);
|
||||
|
||||
EXPECT_TRUE(device_files.DeleteLicense(license_test_data[0].key_set_id));
|
||||
EXPECT_FALSE(device_files.LicenseExists(license_test_data[0].key_set_id));
|
||||
EXPECT_TRUE(device_files.DeleteLicense(kLicenseTestData[0].key_set_id));
|
||||
EXPECT_FALSE(device_files.LicenseExists(kLicenseTestData[0].key_set_id));
|
||||
}
|
||||
|
||||
TEST_F(DeviceFilesTest, ReserveLicenseIdsDoesNotUseFileSystem) {
|
||||
@@ -2597,11 +2598,12 @@ TEST_F(DeviceFilesTest, ReserveLicenseIdsDoesNotUseFileSystem) {
|
||||
DeviceFiles device_files(&file_system);
|
||||
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
|
||||
for (size_t i = 0; i < kNumberOfLicenses; i++) {
|
||||
EXPECT_TRUE(device_files.ReserveLicenseId(license_test_data[i].key_set_id));
|
||||
EXPECT_TRUE(device_files.ReserveLicenseId(kLicenseTestData[i].key_set_id));
|
||||
// Validate that the license IDs are actually reserved.
|
||||
EXPECT_TRUE(device_files.LicenseExists(license_test_data[i].key_set_id));
|
||||
EXPECT_TRUE(device_files.LicenseExists(kLicenseTestData[i].key_set_id));
|
||||
// Unreserve these IDs to avoid polluting other tests.
|
||||
EXPECT_TRUE(device_files.UnreserveLicenseId(license_test_data[i].key_set_id));
|
||||
EXPECT_TRUE(
|
||||
device_files.UnreserveLicenseId(kLicenseTestData[i].key_set_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3083,7 +3085,8 @@ TEST_P(DeviceFilesHlsAttributesTest, Read) {
|
||||
MockFileSystem file_system;
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
HlsAttributesInfo* param = GetParam();
|
||||
const size_t hls_attribute_index = GetParam();
|
||||
const HlsAttributesInfo* param = &kHlsAttributesTestData[hls_attribute_index];
|
||||
std::string path = device_base_path_ + param->key_set_id +
|
||||
DeviceFiles::GetHlsAttributesFileNameExtension();
|
||||
|
||||
@@ -3113,7 +3116,8 @@ TEST_P(DeviceFilesHlsAttributesTest, Store) {
|
||||
MockFileSystem file_system;
|
||||
// Call to Open will return a unique_ptr, freeing this object.
|
||||
MockFile* file = new MockFile();
|
||||
HlsAttributesInfo* param = GetParam();
|
||||
const size_t hls_attribute_index = GetParam();
|
||||
const HlsAttributesInfo* param = &kHlsAttributesTestData[hls_attribute_index];
|
||||
std::string path = device_base_path_ + param->key_set_id +
|
||||
DeviceFiles::GetHlsAttributesFileNameExtension();
|
||||
|
||||
@@ -3134,7 +3138,8 @@ TEST_P(DeviceFilesHlsAttributesTest, Store) {
|
||||
|
||||
TEST_P(DeviceFilesHlsAttributesTest, Delete) {
|
||||
MockFileSystem file_system;
|
||||
HlsAttributesInfo* param = GetParam();
|
||||
const size_t hls_attribute_index = GetParam();
|
||||
const HlsAttributesInfo* param = &kHlsAttributesTestData[hls_attribute_index];
|
||||
std::string path = device_base_path_ + param->key_set_id +
|
||||
DeviceFiles::GetHlsAttributesFileNameExtension();
|
||||
|
||||
@@ -3146,8 +3151,7 @@ TEST_P(DeviceFilesHlsAttributesTest, Delete) {
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(HlsAttributes, DeviceFilesHlsAttributesTest,
|
||||
::testing::Range(&kHlsAttributesTestData[0],
|
||||
&kHlsAttributesTestData[2]));
|
||||
::testing::Range<size_t>(0, kNumberOfHlsAttributes));
|
||||
|
||||
TEST_P(DeviceFilesUsageTableTest, Store) {
|
||||
MockFileSystem file_system;
|
||||
|
||||
@@ -442,6 +442,8 @@ std::string InsertHlsAttributeInList(const std::string key,
|
||||
"=" + kHlsTestValue2;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
struct HlsInitDataVariant {
|
||||
HlsInitDataVariant(CdmHlsMethod method, const std::string& provider,
|
||||
const std::string& content_id, const std::string& key_id,
|
||||
@@ -499,7 +501,6 @@ class HlsParseTest : public ::testing::TestWithParam<HlsAttributeVariant> {};
|
||||
|
||||
class HlsTest : public ::testing::Test {};
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST_F(InitializationDataTest, BadType) {
|
||||
InitializationData init_data("bad", kWidevinePssh);
|
||||
|
||||
Reference in New Issue
Block a user