From 57f7681cc4a1c0737a29223a9317abdf396abe71 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Tue, 28 Nov 2023 13:17:20 +0000 Subject: [PATCH] Bug 35418: Add TR_B2 tests This test file adds tests for the TR_B2 specific report. But also tests for this specific bug, which only happens if the report time period ends in december Signed-off-by: David Nind Signed-off-by: Andrew Auld --- t/db_dependent/Koha/ERM/EUsage/SushiCounter.t | 161 ++++++- t/db_dependent/data/erm/eusage/TR_B2.json | 443 ++++++++++++++++++ 2 files changed, 600 insertions(+), 4 deletions(-) create mode 100644 t/db_dependent/data/erm/eusage/TR_B2.json diff --git a/t/db_dependent/Koha/ERM/EUsage/SushiCounter.t b/t/db_dependent/Koha/ERM/EUsage/SushiCounter.t index 5917f51664..e47568f606 100755 --- a/t/db_dependent/Koha/ERM/EUsage/SushiCounter.t +++ b/t/db_dependent/Koha/ERM/EUsage/SushiCounter.t @@ -17,11 +17,11 @@ use Modern::Perl; -use Test::More tests => 15; +use Test::More tests => 18; use Koha::ERM::EUsage::SushiCounter; use Koha::Database; -use JSON qw( decode_json ); +use JSON qw( decode_json ); use File::Basename qw( dirname ); use File::Slurp; @@ -803,8 +803,8 @@ subtest 'TR_B3 _COUNTER_report_body' => sub { is( $report_body[8][10], '2002', '1st title, 2nd yop has 6 metric types' ); # The data is in the correct column - is( $report_body[2][0], 'Insect Cell Culture: Fundamental and Applied Aspects', '1st column is title' ); - is( $report_body[2][1], 'Test Publisher', '2nd column is publisher' ); + is( $report_body[2][0], 'Insect Cell Culture: Fundamental and Applied Aspects', '1st column is title' ); + is( $report_body[2][1], 'Test Publisher', '2nd column is publisher' ); is( $report_body[2][2], '', '3rd column heading is publisher ID' ); is( $report_body[2][3], 'Test Platform', '4th column is platform' ); is( $report_body[2][4], '10.1007/0-306-46850-6', '5th column is DOI' ); @@ -828,3 +828,156 @@ subtest 'TR_B3 _COUNTER_report_body' => sub { 'Reporting period total matches the sum of all the monthly usage statistics' ); }; + +my $sushi_response_file_TR_B2 = dirname(__FILE__) . "/../../../data/erm/eusage/TR_B2.json"; +my $sushi_counter_5_response_TR_B2 = decode_json( read_file($sushi_response_file_TR_B2) ); +my $sushi_counter_TR_B2 = Koha::ERM::EUsage::SushiCounter->new( { response => $sushi_counter_5_response_TR_B2 } ); + +subtest 'TR_B2 _COUNTER_report_header' => sub { + + plan tests => 37; + + my @report_header = $sushi_counter_TR_B2->_COUNTER_report_header; + + # Header row #1 - Report_Name + is( $report_header[0][0], 'Report_Name', '1st row is report name' ); + is( $report_header[0][1], 'Book Access Denied', '1st row is report name' ); + is( $report_header[0][2], undef, '1st row is report name' ); + + # Header row #2 - Report_ID + is( $report_header[1][0], 'Report_ID', '2nd row is report name' ); + is( $report_header[1][1], 'TR_B2', '2nd row is report name' ); + is( $report_header[1][2], undef, '2nd row is report name' ); + + # Header row #3 - Release + is( $report_header[2][0], 'Release', '3rd row is counter release' ); + is( $report_header[2][1], '5', '3rd row is counter release' ); + is( $report_header[2][2], undef, '3rd row is counter release' ); + + # Header row #4 - Institution_Name + is( $report_header[3][0], 'Institution_Name', '4th row is institution name' ); + is( $report_header[3][1], 'Test Institution', '4th row is institution name' ); + is( $report_header[3][2], undef, '4th row is institution name' ); + + # Header row #5 - Institution_ID + is( $report_header[4][0], 'Institution_ID', '5th row is institution id' ); + is( $report_header[4][1], 'Proprietary:SN:TEST_CUSTOMER_ID', '5th row is institution id' ); + is( $report_header[4][2], undef, '5th row is institution id' ); + + # Header row #6 - Metric_Types + is( $report_header[5][0], 'Metric_Types', '6th row is metric types' ); + is( + $report_header[5][1], + 'Limit_Exceeded; No_License', + '6th row is metric types' + ); + is( $report_header[5][2], undef, '6th row is metric types' ); + + # Header row #7 - Report_Filters + is( $report_header[6][0], 'Report_Filters', '7th row is report filters' ); + is( + $report_header[6][1], + 'Data_Type:Book; Access_Method:Regular; Metric_Type:Limit_Exceeded|No_License; Begin_Date:2022-11-01; End_Date:2022-12-31', + '7th row is report filters' + ); + is( $report_header[6][2], undef, '7th row is report filters' ); + + # Header row #8 - Report_Attributes + is( $report_header[7][0], 'Report_Attributes', '8th row is report attributes' ); + is( $report_header[7][1], '', '8th row is report attributes' ); + is( $report_header[7][2], undef, '8th row is report attributes' ); + + # Header row #9 - Exceptions + is( $report_header[8][0], 'Exceptions', '9th row is exceptions' ); + is( $report_header[8][1], '', '9th row is exceptions' ); + is( $report_header[8][2], undef, '9th row is exceptions' ); + + # Header row #10 - Reporting_Period + is( $report_header[9][0], 'Reporting_Period', '10th row is reporting period' ); + is( $report_header[9][1], 'Begin_Date=2022-11-01; End_Date=2022-12-31', '10th row is reporting period' ); + is( $report_header[9][2], undef, '10th row is reporting period' ); + + # Header row #11 - Created + is( $report_header[10][0], 'Created', '11th row is created' ); + is( $report_header[10][1], '2023-11-28T12:53:04Z', '11th row is created' ); + is( $report_header[10][2], undef, '11th row is created' ); + + # Header row #12 - Created + is( $report_header[11][0], 'Created_By', '12th row is created by' ); + is( $report_header[11][1], 'Test Systems Inc.', '12th row is created by' ); + is( $report_header[11][2], undef, '12th row is created by' ); + + # Header row #13 - This needs to be empty + is( $report_header[12][0], '', '13th row is empty' ); +}; + +subtest 'TR_B2 _COUNTER_report_column_headings' => sub { + + plan tests => 16; + + my @report_column_headings = $sushi_counter_TR_B2->_COUNTER_report_column_headings; + + # Standard TR_J4 column headings + is( $report_column_headings[0][0], 'Title', '1st column heading is title' ); + is( $report_column_headings[0][1], 'Publisher', '2nd column heading is publisher' ); + is( $report_column_headings[0][2], 'Publisher_ID', '3rd column heading is publisher ID' ); + is( $report_column_headings[0][3], 'Platform', '4th column heading is platform' ); + is( $report_column_headings[0][4], 'DOI', '5th column heading is DOI' ); + is( $report_column_headings[0][5], 'Proprietary_ID', '6th column heading is proprietary ID' ); + is( $report_column_headings[0][6], 'ISBN', '7th column heading is ISBN' ); + is( $report_column_headings[0][7], 'Print_ISSN', '8th column heading is print ISSN' ); + is( $report_column_headings[0][8], 'Online_ISSN', '9th column heading is online ISSN' ); + is( $report_column_headings[0][9], 'URI', '10th column heading is URI' ); + is( $report_column_headings[0][10], 'YOP', '11th column heading is yop' ); + is( $report_column_headings[0][11], 'Metric_Type', '12th column heading is metric type' ); + is( $report_column_headings[0][12], 'Reporting_Period_Total', '13th column heading is reporting period total' ); + + # Months column headings + is( $report_column_headings[0][13], 'Nov 2022', '14th column is month column heading' ); + is( $report_column_headings[0][14], 'Dec 2022', '15th column is the last month column heading' ); + is( $report_column_headings[0][15], undef, '16th column is empty, no more months' ); +}; + +subtest 'TR_B2 _COUNTER_report_body' => sub { + + plan tests => 18; + + my @report_body = $sushi_counter_TR_B2->_COUNTER_report_body; + + # The same title is sequential but for different metric types + is( + $report_body[0][0], 'Handbook of Nuclear Engineering', + 'different title, only one metric type' + ); + is( + $report_body[1][0], 'Human Resource Management in International Firms', + 'different title, only one metric type' + ); + is( $report_body[0][11], 'No_License', '1 rows for 1st title, metric type' ); + is( $report_body[1][11], 'No_License', '1 rows for 2nd title, metric type' ); + + # The data is in the correct column + is( $report_body[2][0], 'Understanding Disability', '1st column is title' ); + is( $report_body[2][1], 'Test Publisher E', '2nd column is publisher' ); + is( $report_body[2][2], '', '3rd column heading is publisher ID' ); + is( $report_body[2][3], 'Test Platform', '4th column is platform' ); + is( $report_body[2][4], '10.1007/978-1-349-24269-6', '5th column is DOI' ); + is( $report_body[2][5], 'SN:TEST/978-1-349-24269-6', '6th column is proprietary ID' ); + is( $report_body[2][6], '978-1-349-24269-6', '7th column is ISBN' ); + is( $report_body[2][7], '', '8th column is print ISSN' ); + is( $report_body[2][8], '', '9th column is online ISSN' ); + is( $report_body[2][9], '', '10th column is URI' ); + is( $report_body[2][10], '1996', '11th column is yop' ); + is( $report_body[2][11], 'No_License', '12th column is access type' ); + is( $report_body[2][12], 1, '13th column is reporting period total' ); + + # The period total is the sum of all the month columns + my $stats_total = 0; + for ( my $i = 13 ; $i < 15 ; $i++ ) { + $stats_total += $report_body[0][$i]; + } + is( + $report_body[0][13], $stats_total, + 'Reporting period total matches the sum of all the monthly usage statistics' + ); +}; diff --git a/t/db_dependent/data/erm/eusage/TR_B2.json b/t/db_dependent/data/erm/eusage/TR_B2.json new file mode 100644 index 0000000000..87dbfe2bd4 --- /dev/null +++ b/t/db_dependent/data/erm/eusage/TR_B2.json @@ -0,0 +1,443 @@ +{ + "Report_Header": { + "Created": "2023-11-28T12:53:04Z", + "Created_By": "Test Systems Inc.", + "Customer_ID": "TEST_CUSTOMER_ID", + "Report_ID": "TR_B2", + "Release": "5", + "Report_Name": "Book Access Denied", + "Institution_Name": "Test Institution", + "Institution_ID": [{ "Type": "Proprietary", "Value": "SN:TEST_CUSTOMER_ID" }], + "Report_Filters": [ + { "Name": "Data_Type", "Value": "Book" }, + { "Name": "Access_Method", "Value": "Regular" }, + { "Name": "Metric_Type", "Value": "Limit_Exceeded|No_License" }, + { "Name": "Begin_Date", "Value": "2022-11-01" }, + { "Name": "End_Date", "Value": "2022-12-31" } + ] + }, + "Report_Items": [ + { + "Title": "Handbook of Nuclear Engineering", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-0-387-98149-9" }, + { "Type": "ISBN", "Value": "978-0-387-98149-9" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-0-387-98149-9" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher", + "YOP": "2010", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 3 }] + } + ] + }, + { + "Title": "Human Resource Management in International Firms", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-349-11255-5" }, + { "Type": "ISBN", "Value": "978-1-349-11255-5" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-349-11255-5" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher D", + "YOP": "1990", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Understanding Disability", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-349-24269-6" }, + { "Type": "ISBN", "Value": "978-1-349-24269-6" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-349-24269-6" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher E", + "YOP": "1996", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Learning from Disasters: A Management Approach", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-349-27902-9" }, + { "Type": "ISBN", "Value": "978-1-349-27902-9" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-349-27902-9" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher E", + "YOP": "2005", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Handbook of Nuclear Chemistry", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4419-0720-2" }, + { "Type": "ISBN", "Value": "978-1-4419-0720-2" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4419-0720-2" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher", + "YOP": "2011", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Compound Semiconductor Device Modelling", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4471-2048-3" }, + { "Type": "ISBN", "Value": "978-1-4471-2048-3" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4471-2048-3" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher F", + "YOP": "1993", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Essentials of Carbohydrate Chemistry", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4612-1622-3" }, + { "Type": "ISBN", "Value": "978-1-4612-1622-3" }, + { "Type": "Print_ISSN", "Value": "0172-6323" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4612-1622-3" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher G", + "YOP": "1998", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 6 }] + } + ] + }, + { + "Title": "Elements of Statistical Disclosure Control", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4613-0121-9" }, + { "Type": "ISBN", "Value": "978-1-4613-0121-9" }, + { "Type": "Print_ISSN", "Value": "0930-0325" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4613-0121-9" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher G", + "YOP": "2001", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Seamless R and C++ Integration with Rcpp", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4614-6868-4" }, + { "Type": "ISBN", "Value": "978-1-4614-6868-4" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4614-6868-4" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher G", + "YOP": "2013", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Developing Applications with Azure Active Directory", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4842-5040-2" }, + { "Type": "ISBN", "Value": "978-1-4842-5040-2" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4842-5040-2" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher H", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Introduction to X-Ray Spectrometric Analysis", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-1-4899-2204-5" }, + { "Type": "ISBN", "Value": "978-1-4899-2204-5" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-1-4899-2204-5" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher", + "YOP": "1978", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Gypsy and Traveller Girls", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-03703-1" }, + { "Type": "ISBN", "Value": "978-3-030-03703-1" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-03703-1" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 2 }] + } + ] + }, + { + "Title": "Ernst Mach – Life, Work, Influence", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-04378-0" }, + { "Type": "ISBN", "Value": "978-3-030-04378-0" }, + { "Type": "Print_ISSN", "Value": "0929-6328" }, + { "Type": "Online_ISSN", "Value": "2215-1818" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-04378-0" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "The Palgrave Handbook of Male Psychology and Mental Health", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-04384-1" }, + { "Type": "ISBN", "Value": "978-3-030-04384-1" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-04384-1" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Handbook of Population", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-10910-3" }, + { "Type": "ISBN", "Value": "978-3-030-10910-3" }, + { "Type": "Print_ISSN", "Value": "1389-6903" }, + { "Type": "Online_ISSN", "Value": "2542-839X" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-10910-3" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Socioeconomic Inequality and Educational Outcomes", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-11991-1" }, + { "Type": "ISBN", "Value": "978-3-030-11991-1" }, + { "Type": "Print_ISSN", "Value": "2366-1631" }, + { "Type": "Online_ISSN", "Value": "2366-164X" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-11991-1" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Feng Shui: Teaching About Science and Pseudoscience", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-18822-1" }, + { "Type": "ISBN", "Value": "978-3-030-18822-1" }, + { "Type": "Print_ISSN", "Value": "2520-8594" }, + { "Type": "Online_ISSN", "Value": "2520-8608" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-18822-1" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2019", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 2 }] + } + ] + }, + { + "Title": "Human Aspects of IT for the Aged Population. Healthy and Active Aging", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-50249-2" }, + { "Type": "ISBN", "Value": "978-3-030-50249-2" }, + { "Type": "Print_ISSN", "Value": "0302-9743" }, + { "Type": "Online_ISSN", "Value": "1611-3349" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-50249-2" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2020", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 6 }] + } + ] + }, + { + "Title": "Bayesian Compendium", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-55897-0" }, + { "Type": "ISBN", "Value": "978-3-030-55897-0" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-55897-0" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2020", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "The Science of Citizen Science", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-58278-4" }, + { "Type": "ISBN", "Value": "978-3-030-58278-4" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-58278-4" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2021", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Accessible Housing for South Asia", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-030-88881-7" }, + { "Type": "ISBN", "Value": "978-3-030-88881-7" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-030-88881-7" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2022", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Advanced Informatics for Computing Research", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-031-09469-9" }, + { "Type": "ISBN", "Value": "978-3-031-09469-9" }, + { "Type": "Print_ISSN", "Value": "1865-0929" }, + { "Type": "Online_ISSN", "Value": "1865-0937" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-031-09469-9" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2022", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 2 }] + } + ] + }, + { + "Title": "SDG 14: Life Below Water", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-031-19467-2" }, + { "Type": "ISBN", "Value": "978-3-031-19467-2" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-031-19467-2" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2023", + "Performance": [ + { + "Period": { "Begin_Date": "2022-11-01", "End_Date": "2022-11-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + }, + { + "Title": "Transforming Rural Communities in China and Beyond", + "Item_ID": [ + { "Type": "DOI", "Value": "10.1007/978-3-319-11319-7" }, + { "Type": "ISBN", "Value": "978-3-319-11319-7" }, + { "Type": "Proprietary", "Value": "SN:TEST/978-3-319-11319-7" } + ], + "Platform": "Test Platform", + "Publisher": "Test Publisher A", + "YOP": "2015", + "Performance": [ + { + "Period": { "Begin_Date": "2022-12-01", "End_Date": "2022-12-31" }, + "Instance": [{ "Metric_Type": "No_License", "Count": 1 }] + } + ] + } + ] +} -- 2.30.2