mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-14 22:51:13 +02:00
2018-08-30 Fred Gleason <fredg@paravelsystems.com>
* Integrated the 'Rivendell-C-API' [from https://github.com/RadioFreeAsia/rivendell-c-api] in 'apis/rivwebcapi/'. * Added a 'rivendell-webapi' RPM subpackage.
This commit is contained in:
138
apis/rivwebcapi/tests/Makefile.am
Normal file
138
apis/rivwebcapi/tests/Makefile.am
Normal file
@@ -0,0 +1,138 @@
|
||||
## automake.am
|
||||
##
|
||||
## (C) Copyright 2015 Fred Gleason <fredg@paravelsystems.com>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License version 2 as
|
||||
## published by the Free Software Foundation.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public
|
||||
## License along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
##
|
||||
## Use automake to process this into a Makefile.in
|
||||
|
||||
AM_CFLAGS = -Wall -I$(top_srcdir)/apis/rivwebcapi
|
||||
LIBS = -L$(top_srcdir)/apis/rivwebcapi/rivwebcapi
|
||||
noinst_PROGRAMS = listgroups_test \
|
||||
listgroup_test \
|
||||
listcarts_test \
|
||||
listcart_test \
|
||||
listcuts_test \
|
||||
listcut_test \
|
||||
listsystemsettings_test \
|
||||
listschedcodes_test \
|
||||
listcartschedcodes_test \
|
||||
assignschedcode_test \
|
||||
unassignschedcode_test \
|
||||
addcart_test \
|
||||
addcut_test \
|
||||
removecart_test \
|
||||
removecut_test \
|
||||
audioinfo_test \
|
||||
createticket_test \
|
||||
audiostore_test \
|
||||
trimaudio_test \
|
||||
listlogs_test \
|
||||
listservices_test \
|
||||
addlog_test \
|
||||
deletelog_test \
|
||||
listlog_test \
|
||||
savelog_test \
|
||||
editcart_test \
|
||||
editcut_test \
|
||||
importcart_test \
|
||||
exportcart_test \
|
||||
exportpeaks_test \
|
||||
deleteaudio_test \
|
||||
copyaudio_test \
|
||||
getversion_test \
|
||||
getuseragent_test
|
||||
|
||||
dist_listgroups_test_SOURCES = listgroups_test.c
|
||||
dist_listgroup_test_SOURCES = listgroup_test.c
|
||||
dist_listcarts_test_SOURCES = listcarts_test.c
|
||||
dist_listcart_test_SOURCES = listcart_test.c
|
||||
dist_listcuts_test_SOURCES = listcuts_test.c
|
||||
dist_listcut_test_SOURCES = listcut_test.c
|
||||
dist_listschedcodes_test_SOURCES = listschedcodes_test.c
|
||||
dist_listsystemsettings_test_SOURCES = listsystemsettings_test.c
|
||||
dist_assignschedcode_test_SOURCES = assignschedcode_test.c
|
||||
dist_unassignschedcode_test_SOURCES = unassignschedcode_test.c
|
||||
dist_addcart_test_SOURCES = addcart_test.c
|
||||
dist_addcut_test_SOURCES = addcut_test.c
|
||||
dist_addlog_test_SOURCES = addlog_test.c\
|
||||
common.c common.h
|
||||
dist_deletelog_test_SOURCES = deletelog_test.c\
|
||||
common.c common.h
|
||||
dist_removecart_test_SOURCES = removecart_test.c
|
||||
dist_removecut_test_SOURCES = removecut_test.c
|
||||
dist_audioinfo_test_SOURCES = audioinfo_test.c
|
||||
dist_createticket_test_SOURCES = createticket_test.c
|
||||
dist_audiostore_test_SOURCES = audiostore_test.c
|
||||
dist_trimaudio_test_SOURCES = trimaudio_test.c
|
||||
dist_listlog_test_SOURCES = listlog_test.c
|
||||
dist_listlogs_test_SOURCES = listlogs_test.c
|
||||
dist_savelog_test_SOURCES = savelog_test.c \
|
||||
common.c common.h
|
||||
dist_listservices_test_SOURCES = listservices_test.c
|
||||
dist_editcart_test_SOURCES = editcart_test.c
|
||||
dist_editcut_test_SOURCES = editcut_test.c
|
||||
dist_importcart_test_SOURCES = importcart_test.c
|
||||
dist_exportcart_test_SOURCES = exportcart_test.c
|
||||
dist_exportpeaks_test_SOURCES = exportpeaks_test.c
|
||||
dist_deleteaudio_test_SOURCES = deleteaudio_test.c
|
||||
dist_copyaudio_test_SOURCES = copyaudio_test.c
|
||||
dist_getversion_test_SOURCES = getversion_test.c
|
||||
dist_getuseragent_test_SOURCES = getuseragent_test.c
|
||||
|
||||
listgroups_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listgroup_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listcarts_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listcart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listcuts_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listcut_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listschedcodes_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listsystemsettings_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
assignschedcode_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listcartschedcodes_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
unassignschedcode_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
addcart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
addcut_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
addlog_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
deletelog_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
removecart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
removecut_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
audioinfo_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
createticket_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
audiostore_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
trimaudio_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listlog_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listlogs_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
savelog_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
listservices_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
editcart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
editcut_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
importcart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
exportcart_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
exportpeaks_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
deleteaudio_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
copyaudio_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
getversion_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
getuseragent_test_LDADD = -lrivwebcapi -lexpat -lcurl -lm
|
||||
|
||||
CLEANFILES = *~\
|
||||
moc_*
|
||||
|
||||
MAINTAINERCLEANFILES = *~\
|
||||
*.tar.gz\
|
||||
aclocal.m4\
|
||||
configure\
|
||||
Makefile.in\
|
||||
moc_*
|
341
apis/rivwebcapi/tests/addcart_test.c
Normal file
341
apis/rivwebcapi/tests/addcart_test.c
Normal file
@@ -0,0 +1,341 @@
|
||||
/* addcart_test.c
|
||||
*
|
||||
* Test the addcart library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_addcart.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_removecart.h>
|
||||
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
struct rd_cart *cart=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Add ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite) ");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_AddCart(&cart,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
"TEST",
|
||||
"audio",
|
||||
(unsigned)cartnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for GROUP or TYPE or Cart Exists\n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Error! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Cart! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart Number: %d\n",cart->cart_number);
|
||||
printf(" Cart Type: %d\n",cart->cart_type);
|
||||
printf(" Group Name: %s\n",cart->cart_grp_name);
|
||||
printf(" Cart Title: %s\n",cart->cart_title);
|
||||
printf(" Cart Artist: %s\n",cart->cart_artist);
|
||||
printf(" Cart Album: %s\n",cart->cart_album);
|
||||
printf(" Cart Year: %d\n",cart->cart_year);
|
||||
printf(" Cart Label: %s\n",cart->cart_label);
|
||||
printf(" Cart Client: %s\n",cart->cart_client);
|
||||
printf(" Cart Agency: %s\n",cart->cart_agency);
|
||||
printf(" Cart Publisher: %s\n",cart->cart_publisher);
|
||||
printf(" Cart Composer: %s\n",cart->cart_composer);
|
||||
printf(" Cart User Defined: %s\n",cart->cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",cart->cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",cart->cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",cart->cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",cart->cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",cart->cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",cart->cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",cart->cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",cart->cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",cart->cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",cart->cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",cart->cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",cart->cart_owner);
|
||||
printf("Cart Metadata year value = %d\n",cart->cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata month value = %d\n",cart->cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value = %d\n",cart->cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value = %d\n",cart->cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value = %d\n",cart->cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value = %d\n",cart->cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value = %d\n",cart->cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst value = %d\n",cart->cart_metadata_datetime.tm_isdst);
|
||||
|
||||
//printf(" Cart Metadata Datetime: %s\n",cart->cart_metadata_datetime);
|
||||
printf("\n");
|
||||
|
||||
free(cart);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
strcpy( ticket,myticket[i].ticket);
|
||||
|
||||
}
|
||||
|
||||
|
||||
user="USER";
|
||||
passwd="blah";
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the Remove Cart function
|
||||
// so we can add it again - using the ticket for both
|
||||
result=RD_RemoveCart( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
/*exit(256);*/
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart %ld was successfully deleted!\n",cartnum);
|
||||
printf("\n");
|
||||
|
||||
|
||||
|
||||
result=RD_AddCart(&cart,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
"TEST",
|
||||
"audio",
|
||||
(unsigned)cartnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for GROUP or TYPE");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Error! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Group Exists! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Cart! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart Number: %d\n",cart->cart_number);
|
||||
printf(" Cart Type: %d\n",cart->cart_type);
|
||||
printf(" Group Name: %s\n",cart->cart_grp_name);
|
||||
printf(" Cart Title: %s\n",cart->cart_title);
|
||||
printf(" Cart Artist: %s\n",cart->cart_artist);
|
||||
printf(" Cart Album: %s\n",cart->cart_album);
|
||||
printf(" Cart Year: %d\n",cart->cart_year);
|
||||
printf(" Cart Label: %s\n",cart->cart_label);
|
||||
printf(" Cart Client: %s\n",cart->cart_client);
|
||||
printf(" Cart Agency: %s\n",cart->cart_agency);
|
||||
printf(" Cart Publisher: %s\n",cart->cart_publisher);
|
||||
printf(" Cart Composer: %s\n",cart->cart_composer);
|
||||
printf(" Cart User Defined: %s\n",cart->cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",cart->cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",cart->cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",cart->cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",cart->cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",cart->cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",cart->cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",cart->cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",cart->cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",cart->cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",cart->cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",cart->cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",cart->cart_owner);
|
||||
printf("Cart Metadata year value = %d\n",cart->cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata month value = %d\n",cart->cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value = %d\n",cart->cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value = %d\n",cart->cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value = %d\n",cart->cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value = %d\n",cart->cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value = %d\n",cart->cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst value = %d\n",cart->cart_metadata_datetime.tm_isdst);
|
||||
|
||||
//printf(" Cart Metadata Datetime: %s\n",cart->cart_metadata_datetime);
|
||||
printf("\n");
|
||||
|
||||
free(cart);
|
||||
|
||||
exit(0);
|
||||
}
|
459
apis/rivwebcapi/tests/addcut_test.c
Normal file
459
apis/rivwebcapi/tests/addcut_test.c
Normal file
@@ -0,0 +1,459 @@
|
||||
/* addcut.c
|
||||
*
|
||||
* Test the addcut library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_addcut.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_removecut.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
struct rd_cut *cut=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Add a CUT to==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_AddCut(&cut,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Cart! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized ! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cut Name: %s\n",cut->cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cut->cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cut->cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cut->cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cut->cut_description);
|
||||
printf(" Cut Outcue: %s\n",cut->cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cut->cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cut->cut_isci);
|
||||
printf(" Cut Length: %u\n",cut->cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cut->cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cut->cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cut->cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cut->cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cut->cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cut->cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cut->cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cut->cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cut->cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cut->cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cut->cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cut->cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cut->cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cut->cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cut->cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cut->cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cut->cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cut->cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cut->cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cut->cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cut->cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cut->cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cut->cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cut->cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cut->cut_sun);
|
||||
printf(" Cut Mon: %d\n",cut->cut_mon);
|
||||
printf(" Cut Tue: %d\n",cut->cut_tue);
|
||||
printf(" Cut Wed: %d\n",cut->cut_wed);
|
||||
printf(" Cut Thu: %d\n",cut->cut_thu);
|
||||
printf(" Cut Fri: %d\n",cut->cut_fri);
|
||||
printf(" Cut Sat: %d\n",cut->cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cut->cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cut->cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cut->cut_origin_name);
|
||||
printf(" Cut Weight: %u\n",cut->cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cut->cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cut->cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cut->cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cut->cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cut->cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cut->cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cut->cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cut->cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cut->cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cut->cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cut->cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cut->cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cut->cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cut->cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cut->cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cut->cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cut->cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cut->cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cut->cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cut->cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cut->cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cut->cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cut->cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cut->cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cut->cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cut->cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cut->cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
cutnum = cut->cut_cut_number;
|
||||
|
||||
free(cut);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
strcpy( ticket,myticket[i].ticket);
|
||||
|
||||
}
|
||||
|
||||
|
||||
user="USER";
|
||||
passwd="blah";
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
//
|
||||
// Call the Remove Cut function
|
||||
// so we can add it again - using the ticket for both
|
||||
result=RD_RemoveCut( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld Cut Number: %ld was successfully deleted!\n",
|
||||
cartnum, cutnum);
|
||||
printf("\n");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_AddCut(&cut,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Cart! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized ! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cut Name: %s\n",cut->cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cut->cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cut->cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cut->cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cut->cut_description);
|
||||
printf(" Cut Outcue: %s\n",cut->cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cut->cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cut->cut_isci);
|
||||
printf(" Cut Length: %u\n",cut->cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cut->cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cut->cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cut->cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cut->cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cut->cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cut->cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cut->cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cut->cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cut->cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cut->cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cut->cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cut->cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cut->cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cut->cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cut->cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cut->cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cut->cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cut->cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cut->cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cut->cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cut->cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cut->cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cut->cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cut->cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cut->cut_sun);
|
||||
printf(" Cut Mon: %d\n",cut->cut_mon);
|
||||
printf(" Cut Tue: %d\n",cut->cut_tue);
|
||||
printf(" Cut Wed: %d\n",cut->cut_wed);
|
||||
printf(" Cut Thu: %d\n",cut->cut_thu);
|
||||
printf(" Cut Fri: %d\n",cut->cut_fri);
|
||||
printf(" Cut Sat: %d\n",cut->cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cut->cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cut->cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cut->cut_origin_name);
|
||||
printf(" Cut Weight: %u\n",cut->cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cut->cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cut->cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cut->cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cut->cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cut->cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cut->cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cut->cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cut->cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cut->cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cut->cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cut->cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cut->cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cut->cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cut->cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cut->cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cut->cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cut->cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cut->cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cut->cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cut->cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cut->cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cut->cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cut->cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cut->cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cut->cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cut->cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cut->cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
cutnum = cut->cut_cut_number;
|
||||
free(cut);
|
||||
|
||||
//
|
||||
// Call the Remove Cut function
|
||||
// so we can add it again - using the ticket for both
|
||||
result=RD_RemoveCut( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld Cut Number: %ld was successfully deleted!\n",
|
||||
cartnum, cutnum);
|
||||
printf("\n");
|
||||
exit(0);
|
||||
}
|
269
apis/rivwebcapi/tests/addlog_test.c
Normal file
269
apis/rivwebcapi/tests/addlog_test.c
Normal file
@@ -0,0 +1,269 @@
|
||||
/* addlog_test.c
|
||||
*
|
||||
* Test the addlog library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_addlog.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_deletelog.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
char logname[BUFSIZ]={0};
|
||||
char servicename[BUFSIZ]={0};
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
PromptForString("Please enter the Name of the Log that you want to Add ==> ",
|
||||
logname,BUFSIZ);
|
||||
PromptForString("Please enter the Name of the Service for the log that you want to Add ==> ",
|
||||
servicename,BUFSIZ);
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_AddLog(host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
servicename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME or SERVICE_NAME");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Service Exists! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Success\n");
|
||||
|
||||
// Add test of create_ticket function - wont be able to add though
|
||||
// because we already added it!
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
// Delete the log before we try to use a ticket to add it.
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_DeleteLog(host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Delete Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_AddLog(host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
servicename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME or SERVICE_NAME");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Service Exists! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Create Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Success\n");
|
||||
|
||||
// Remove the log for the final time
|
||||
//
|
||||
result=RD_DeleteLog(host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Delete Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
printf("Log was deleted!\n");
|
||||
exit(0);
|
||||
}
|
218
apis/rivwebcapi/tests/assignschedcode_test.c
Normal file
218
apis/rivwebcapi/tests/assignschedcode_test.c
Normal file
@@ -0,0 +1,218 @@
|
||||
/* assignschedcodes.c
|
||||
*
|
||||
* Test the assignschedcode library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_assignschedcode.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
char buf[BUFSIZ];
|
||||
char code[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
char *codeptr;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
codeptr = &code[0];
|
||||
printf("Please enter the Scheduler Code assign to cart# %ld ==>",cart);
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
for (i = 0; i < strlen(buf) ; i++) {
|
||||
if (buf[i]>32) {
|
||||
strncpy(codeptr,&buf[i],1);
|
||||
codeptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
strcat(code,"\0");
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_AssignSchedCode( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
code,
|
||||
user_agent);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart/Code Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Code Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Scheduler Code %s was successfully added to Cart %ld !\n",code,cart);
|
||||
printf("\n");
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
// Call the function
|
||||
//
|
||||
result= RD_AssignSchedCode( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
code,
|
||||
user_agent);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart/Code Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Code Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Scheduler Code %s was successfully added to Cart %ld !\n",code,cart);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
255
apis/rivwebcapi/tests/audioinfo_test.c
Normal file
255
apis/rivwebcapi/tests/audioinfo_test.c
Normal file
@@ -0,0 +1,255 @@
|
||||
/*audioinfo_test.c
|
||||
*
|
||||
* Test the audioinfo WEB library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_audioinfo.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_audioinfo *audioinfo=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
long int cut=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please enter the Cut Number for the Cart used above ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cut = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_AudioInfo(&audioinfo,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart/Cut Number or Unknown Format\n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Audio Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %u\n",audioinfo[i].cart_number);
|
||||
printf(" Cut Number: %u\n",audioinfo[i].cut_number);
|
||||
printf(" Format: %d\n",audioinfo[i].format);
|
||||
printf(" Channels: %d\n",audioinfo[i].channels);
|
||||
printf(" Sample Rate: %d\n",audioinfo[i].samplerate);
|
||||
printf(" Frames: %u\n",audioinfo[i].frames);
|
||||
printf(" Length: %u\n",audioinfo[i].length);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the audioinfo list when finished with it
|
||||
//
|
||||
free(audioinfo);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_AudioInfo(&audioinfo,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart/Cut Number or Unknown Format\n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Audio Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %u\n",audioinfo[i].cart_number);
|
||||
printf(" Cut Number: %u\n",audioinfo[i].cut_number);
|
||||
printf(" Format: %d\n",audioinfo[i].format);
|
||||
printf(" Channels: %d\n",audioinfo[i].channels);
|
||||
printf(" Sample Rate: %d\n",audioinfo[i].samplerate);
|
||||
printf(" Frames: %u\n",audioinfo[i].frames);
|
||||
printf(" Length: %u\n",audioinfo[i].length);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
//
|
||||
// Free the audioinfo list when finished with it
|
||||
//
|
||||
free(audioinfo);
|
||||
|
||||
exit(0);
|
||||
}
|
204
apis/rivwebcapi/tests/audiostore_test.c
Normal file
204
apis/rivwebcapi/tests/audiostore_test.c
Normal file
@@ -0,0 +1,204 @@
|
||||
/*audiostore_test.c
|
||||
*
|
||||
* Test the audiostore WEB library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_audiostore.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_audiostore *audiostore=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_AudioStore(&audiostore,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Internal Error - Exiting!\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Free Bytes: %lu\n",audiostore[i].freebytes);
|
||||
printf(" Total Bytes: %lu\n",audiostore[i].totalbytes);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the audio store list when finished with it
|
||||
//
|
||||
free(audiostore);
|
||||
|
||||
// Add test of create_ticket function - wont be able to add though
|
||||
// because we already added it!
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_AudioStore(&audiostore,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Internal Error - Exiting!\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Free Bytes: %lu\n",audiostore[i].freebytes);
|
||||
printf(" Total Bytes: %lu\n",audiostore[i].totalbytes);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the audio store list when finished with it
|
||||
//
|
||||
free(audiostore);
|
||||
exit(0);
|
||||
}
|
57
apis/rivwebcapi/tests/common.c
Normal file
57
apis/rivwebcapi/tests/common.c
Normal file
@@ -0,0 +1,57 @@
|
||||
/* common.c
|
||||
*
|
||||
* Common routines used by test harnesses for the Rivendell C API
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
void TrimWhitespace(char *str)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
|
||||
for(i=0;i<strlen(str);i++) {
|
||||
if(!isspace(str[i])) {
|
||||
memmove(str,str+i,strlen(str)+1);
|
||||
for(j=i+1;j<strlen(str);j++) {
|
||||
if(isspace(str[j])) {
|
||||
str[j]=0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int PromptForString(const char *prompt,char str[],int len)
|
||||
{
|
||||
printf("%s",prompt);
|
||||
fflush(stdout);
|
||||
if(fgets(str,len,stdin)==NULL) {
|
||||
return -1;
|
||||
}
|
||||
TrimWhitespace(str);
|
||||
|
||||
return strlen(str);
|
||||
}
|
28
apis/rivwebcapi/tests/common.h
Normal file
28
apis/rivwebcapi/tests/common.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/* common.h
|
||||
*
|
||||
* Common routines used by test harnesses for the Rivendell C API
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef COMMON_H
|
||||
#define COMMON_H
|
||||
|
||||
|
||||
int PromptForString(const char *prompt,char str[],int len);
|
||||
|
||||
|
||||
#endif /* COMMON_H */
|
257
apis/rivwebcapi/tests/copyaudio_test.c
Normal file
257
apis/rivwebcapi/tests/copyaudio_test.c
Normal file
@@ -0,0 +1,257 @@
|
||||
/* copyaudio_test.c
|
||||
*
|
||||
* Test the Copy Audio API library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_copyaudio.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int src_cartnum=0;
|
||||
long int src_cutnum=0;
|
||||
long int dest_cartnum=0;
|
||||
long int dest_cutnum=0;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number of the source audio that you want to copy from: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
src_cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number of the source audio that you want to copy from: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
src_cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
//
|
||||
printf("Please enter the Cart Number of the destination audio that you want to copy to: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
dest_cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number of the destination audio that you want to copy to: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
dest_cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_CopyAudio( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)src_cartnum,
|
||||
(unsigned)src_cutnum,
|
||||
(unsigned)dest_cartnum,
|
||||
(unsigned)dest_cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Cart/Cut Missing ! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr," ERROR: No Such Cart/Cut Exists! Or \n");
|
||||
fprintf(stderr, " UnAuthorized! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld Audio was successfully copied to Cart: %ld - Cut: %ld!\n",
|
||||
src_cartnum, src_cutnum, dest_cartnum, dest_cutnum);
|
||||
printf("\n");
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_CopyAudio( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)src_cartnum,
|
||||
(unsigned)src_cutnum,
|
||||
(unsigned)dest_cartnum,
|
||||
(unsigned)dest_cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Cart/Cut Missing ! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr," ERROR: No Such Cart/Cut Exists! Or \n");
|
||||
fprintf(stderr, " UnAuthorized! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld Audio was successfully copied to Cart: %ld - Cut: %ld!\n",
|
||||
src_cartnum, src_cutnum, dest_cartnum, dest_cutnum);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
118
apis/rivwebcapi/tests/createticket_test.c
Normal file
118
apis/rivwebcapi/tests/createticket_test.c
Normal file
@@ -0,0 +1,118 @@
|
||||
/*createticket_test.c
|
||||
*
|
||||
* Test the Create Ticket WEB library.
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_ticketinfo *ticketinfo=0;
|
||||
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_CreateTicket(&ticketinfo,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",ticketinfo[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",ticketinfo->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",ticketinfo->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",ticketinfo->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",ticketinfo->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",ticketinfo->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",ticketinfo->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",ticketinfo->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",ticketinfo->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the ticketinfo list when finished with it
|
||||
//
|
||||
free(ticketinfo);
|
||||
exit(0);
|
||||
}
|
133
apis/rivwebcapi/tests/deleteaudio_test.c
Normal file
133
apis/rivwebcapi/tests/deleteaudio_test.c
Normal file
@@ -0,0 +1,133 @@
|
||||
/* deleteaudio_test.c
|
||||
*
|
||||
* Test the Delete Audio API library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_deleteaudio.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number of the audio that you want to delete: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number of the audio that you want to delete: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_DeleteAudio( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cart: %ld Audio was successfully deleted!\n",cartnum,cutnum);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
107
apis/rivwebcapi/tests/deletelog_test.c
Normal file
107
apis/rivwebcapi/tests/deletelog_test.c
Normal file
@@ -0,0 +1,107 @@
|
||||
/* deletelog_test.c
|
||||
*
|
||||
* Test the deletelog library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_deletelog.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
char logname[BUFSIZ]={0};
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char user_agent[255];
|
||||
char ticket[41]="";
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
PromptForString("Please enter the Name of the Log that you want to Delete ==> ",
|
||||
logname,BUFSIZ);
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_DeleteLog(host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Delete Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Success\n");
|
||||
|
||||
exit(0);
|
||||
}
|
332
apis/rivwebcapi/tests/editcart_test.c
Normal file
332
apis/rivwebcapi/tests/editcart_test.c
Normal file
@@ -0,0 +1,332 @@
|
||||
/* editcart_test.c
|
||||
*
|
||||
* Test the editcart library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_editcart.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cart *carts=0;
|
||||
struct edit_cart_values edit_cart;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
unsigned numrecs;
|
||||
char mynotes[1024];
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Build the edit_cart_values structure */
|
||||
|
||||
memset(&edit_cart,0,sizeof(struct edit_cart_values));
|
||||
strcpy (mynotes, " This is the first line of notes");
|
||||
strcat (mynotes,"\n");
|
||||
strcat (mynotes, " This is the second line of notes");
|
||||
strcat (mynotes,"\n");
|
||||
strcat (mynotes, " This is the third line of notes");
|
||||
strcat (mynotes,"\n");
|
||||
|
||||
edit_cart.use_cart_notes=1; /* Set true */
|
||||
strcpy (edit_cart.cart_notes,mynotes);
|
||||
edit_cart.use_cart_title=1;
|
||||
strcpy(edit_cart.cart_title,"This is the new title");
|
||||
edit_cart.use_cart_composer=1;
|
||||
strcpy(edit_cart.cart_composer,"Thomas VanderBrook");
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_EditCart(&carts,
|
||||
edit_cart,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 409:
|
||||
fprintf(stderr,"ERROR: Invalid Cart Number! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf(" Cart Notes: %s\n",carts[i].cart_notes);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
|
||||
// Add test of create_ticket function - wont be able to add though
|
||||
// because we already added it!
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
strcpy(edit_cart.cart_title,"This is The title using TICKET ");
|
||||
strcpy(edit_cart.cart_composer,"Johann Sebastian Bach");
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_EditCart(&carts,
|
||||
edit_cart,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 409:
|
||||
fprintf(stderr,"ERROR: Invalid Cart Number! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf(" Cart Notes: %s\n",carts[i].cart_notes);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
exit(0);
|
||||
}
|
440
apis/rivwebcapi/tests/editcut_test.c
Normal file
440
apis/rivwebcapi/tests/editcut_test.c
Normal file
@@ -0,0 +1,440 @@
|
||||
/* editcart_test.c
|
||||
*
|
||||
* Test the editcart library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_editcut.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cut *cuts=0;
|
||||
struct edit_cut_values edit_cut;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please enter the Cut Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
memset(&edit_cut,0,sizeof(struct edit_cut_values));
|
||||
edit_cut.use_cut_description=1; /* Set true */
|
||||
strcpy (edit_cut.cut_description,"This is a new description for cut");
|
||||
|
||||
edit_cut.use_cut_weight=1;
|
||||
edit_cut.cut_weight = 2;
|
||||
|
||||
// start_date = "2017-06-21 08:14;55
|
||||
edit_cut.cut_start_datetime.tm_year = 117;
|
||||
edit_cut.cut_start_datetime.tm_mon = 5;
|
||||
edit_cut.cut_start_datetime.tm_mday = 21;
|
||||
edit_cut.cut_start_datetime.tm_hour = 8;
|
||||
edit_cut.cut_start_datetime.tm_min = 14;
|
||||
edit_cut.cut_start_datetime.tm_sec = 55;
|
||||
edit_cut.use_cut_start_datetime=1;
|
||||
|
||||
|
||||
// end = "2017-09-01 05:00:00
|
||||
edit_cut.cut_end_datetime.tm_year = 117;
|
||||
edit_cut.cut_end_datetime.tm_mon = 8;
|
||||
edit_cut.cut_end_datetime.tm_mday = 1;
|
||||
edit_cut.cut_end_datetime.tm_hour = 5;
|
||||
edit_cut.cut_end_datetime.tm_min = 0;
|
||||
edit_cut.cut_end_datetime.tm_sec = 0;
|
||||
edit_cut.use_cut_end_datetime=1;
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_EditCut(&cuts,
|
||||
edit_cut,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cut list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
// start_date = "1999-01-01 00:00:00
|
||||
edit_cut.cut_start_datetime.tm_year = 99;
|
||||
edit_cut.cut_start_datetime.tm_mon = 0;
|
||||
edit_cut.cut_start_datetime.tm_mday = 1;
|
||||
edit_cut.cut_start_datetime.tm_hour = 0;
|
||||
edit_cut.cut_start_datetime.tm_min = 0;
|
||||
edit_cut.cut_start_datetime.tm_sec = 0;
|
||||
edit_cut.use_cut_start_datetime=1;
|
||||
|
||||
|
||||
// end = "2017-11-01 11:11:11
|
||||
edit_cut.cut_end_datetime.tm_year = 117;
|
||||
edit_cut.cut_end_datetime.tm_mon = 10;
|
||||
edit_cut.cut_end_datetime.tm_mday = 1;
|
||||
edit_cut.cut_end_datetime.tm_hour = 11;
|
||||
edit_cut.cut_end_datetime.tm_min = 11;
|
||||
edit_cut.cut_end_datetime.tm_sec = 11;
|
||||
edit_cut.use_cut_end_datetime=1;
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_EditCut(&cuts,
|
||||
edit_cut,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cut list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
exit(0);
|
||||
}
|
256
apis/rivwebcapi/tests/exportcart_test.c
Normal file
256
apis/rivwebcapi/tests/exportcart_test.c
Normal file
@@ -0,0 +1,256 @@
|
||||
/* exportcart_test.c
|
||||
*
|
||||
* Test the Export Cart/Cut API Library
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_export.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
char filename[BUFSIZ];
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Export ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number that you want to Export ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Destination File Name ==> ");
|
||||
if (fgets(filename,sizeof(filename),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_ExportCart( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
0,
|
||||
(unsigned)2,
|
||||
44100,
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
-1,
|
||||
0,
|
||||
0,
|
||||
filename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: No Source Audio Exists! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld - Filename: %s was successfully exported!\n",cartnum,cutnum,filename);
|
||||
printf("\n");
|
||||
|
||||
|
||||
// Add test of create_ticket function - wont be able to add though
|
||||
// because we already added it!
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_ExportCart( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
0,
|
||||
(unsigned)2,
|
||||
44100,
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
-1,
|
||||
0,
|
||||
0,
|
||||
filename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld - Filename: %s was successfully exported!\n",cartnum,cutnum,filename);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
236
apis/rivwebcapi/tests/exportpeaks_test.c
Normal file
236
apis/rivwebcapi/tests/exportpeaks_test.c
Normal file
@@ -0,0 +1,236 @@
|
||||
/* exportpeaks_test.c
|
||||
*
|
||||
* Test the Export Peaks API Library
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_exportpeaks.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
char filename[BUFSIZ];
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Export ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number that you want to Export ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Destination File Name ==> ");
|
||||
if (fgets(filename,sizeof(filename),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_ExportPeaks( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
filename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld - Filename: %s Peak File successfully created!\n",cartnum,cutnum,filename);
|
||||
printf("\n");
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_ExportPeaks( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
filename,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Invalid Input Parameters! \n");
|
||||
break;
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: User Authentification Failed! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cut: %ld - Filename: %s Peak File successfully created!\n",cartnum,cutnum,filename);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
43
apis/rivwebcapi/tests/getuseragent_test.c
Normal file
43
apis/rivwebcapi/tests/getuseragent_test.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* getuseragent.c
|
||||
*
|
||||
* Test the getuseragent library routine.
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
char user_agent_string[255];
|
||||
|
||||
// Call the function
|
||||
//
|
||||
strcpy(user_agent_string,RD_GetUserAgent());
|
||||
//
|
||||
//
|
||||
// List the Result
|
||||
//
|
||||
printf(" The User Agent String is: %s\n",user_agent_string);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
43
apis/rivwebcapi/tests/getversion_test.c
Normal file
43
apis/rivwebcapi/tests/getversion_test.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* getversion.c
|
||||
*
|
||||
* Test the getversion library routine.
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
char api_version[20];
|
||||
|
||||
// Call the function
|
||||
//
|
||||
strcpy(api_version,RD_GetVersion());
|
||||
//
|
||||
//
|
||||
// List the Result
|
||||
//
|
||||
printf(" The Rivendell API Version Number: %s\n",api_version);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
293
apis/rivwebcapi/tests/importcart_test.c
Normal file
293
apis/rivwebcapi/tests/importcart_test.c
Normal file
@@ -0,0 +1,293 @@
|
||||
/* import_test.c
|
||||
*
|
||||
* Test the Impourt Cart/Cut API Library
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_import.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
int i;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
int create_flag=0;
|
||||
char filename[BUFSIZ];
|
||||
char group_name[BUFSIZ]="";
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char title[BUFSIZ]="";
|
||||
struct rd_cartimport *cartimport=0;
|
||||
unsigned numrecs;
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Import To ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number that you want to import To ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the File Name that you want to Import ==> ");
|
||||
if (fgets(filename,sizeof(filename),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
printf("Do you want to Create Cart If Doesn't Exist - (Yes or No) ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
if (( buf[0] != '\n') && (buf[0] =='Y'))
|
||||
{
|
||||
create_flag = 1;
|
||||
printf("Please enter the Group Name ==> ");
|
||||
if (fgets(group_name,sizeof(group_name),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
printf("Optional Title Field (Checks Duplicate titles)===> ");
|
||||
if (fgets(title,sizeof(title),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add the Rivendell-C-API Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result= RD_ImportCart(&cartimport,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
(unsigned)2,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
create_flag,
|
||||
group_name,
|
||||
title,
|
||||
filename,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: %s \n",cartimport->error_string);
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf("Cart Number: %u\n",cartimport[i].cart_number);
|
||||
printf("Cut Number: %u\n",cartimport[i].cut_number);
|
||||
printf("\n");
|
||||
printf(" Cart: %u - Cut: %u - Filename: %s was successfully imported!\n",cartimport[i].cart_number,
|
||||
cartimport[i].cut_number,
|
||||
filename);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart import info when finished with it
|
||||
//
|
||||
free(cartimport);
|
||||
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
|
||||
result= RD_ImportCart(&cartimport,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
(unsigned)2,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
create_flag,
|
||||
group_name,
|
||||
title,
|
||||
filename,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong! Result Code = %d\n",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: %s \n",cartimport->error_string);
|
||||
//fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf("Cart Number: %u\n",cartimport[i].cart_number);
|
||||
printf("Cut Number: %u\n",cartimport[i].cut_number);
|
||||
printf("\n");
|
||||
printf(" Cart: %u - Cut: %u - Filename: %s was successfully imported!\n",cartimport[i].cart_number,
|
||||
cartimport[i].cut_number,
|
||||
filename);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart import info when finished with it
|
||||
//
|
||||
free(cartimport);
|
||||
|
||||
exit(0);
|
||||
}
|
289
apis/rivwebcapi/tests/listcart_test.c
Normal file
289
apis/rivwebcapi/tests/listcart_test.c
Normal file
@@ -0,0 +1,289 @@
|
||||
/* listcart_test.c
|
||||
*
|
||||
* Test the listcart library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listcart.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cart *carts=0;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListCart(&carts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListCart(&carts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
exit(0);
|
||||
}
|
277
apis/rivwebcapi/tests/listcarts_test.c
Normal file
277
apis/rivwebcapi/tests/listcarts_test.c
Normal file
@@ -0,0 +1,277 @@
|
||||
/* listcarts_test.c
|
||||
*
|
||||
* Test the listcarts library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listcarts.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cart *carts=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListCarts(&carts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
"",
|
||||
"",
|
||||
"Audio",
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: Invalid User Authentification \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Group Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListCarts(&carts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
"",
|
||||
"",
|
||||
"Audio",
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr,"ERROR: Invalid User Authentification \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Group Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %d\n",carts[i].cart_number);
|
||||
printf(" Cart Type: %d\n",carts[i].cart_type);
|
||||
printf(" Group Name: %s\n",carts[i].cart_grp_name);
|
||||
printf(" Cart Title: %s\n",carts[i].cart_title);
|
||||
printf(" Cart Artist: %s\n",carts[i].cart_artist);
|
||||
printf(" Cart Album: %s\n",carts[i].cart_album);
|
||||
printf(" Cart Year: %d\n",carts[i].cart_year);
|
||||
printf(" Cart Label: %s\n",carts[i].cart_label);
|
||||
printf(" Cart Client: %s\n",carts[i].cart_client);
|
||||
printf(" Cart Agency: %s\n",carts[i].cart_agency);
|
||||
printf(" Cart Publisher: %s\n",carts[i].cart_publisher);
|
||||
printf(" Cart Composer: %s\n",carts[i].cart_composer);
|
||||
printf(" Cart Conductor: %s\n",carts[i].cart_conductor);
|
||||
printf(" Cart User Defined: %s\n",carts[i].cart_user_defined);
|
||||
printf(" Cart Usage Code: %d\n",carts[i].cart_usage_code);
|
||||
printf(" Cart Forced Length: %d\n",carts[i].cart_forced_length);
|
||||
printf(" Cart Average Length: %d\n",carts[i].cart_average_length);
|
||||
printf(" Cart Length Deviation: %d\n",carts[i].cart_length_deviation);
|
||||
printf("Cart Average Segue Length: %d\n",carts[i].cart_average_segue_length);
|
||||
printf(" Cart Average Hook Length: %d\n",carts[i].cart_average_hook_length);
|
||||
printf(" Cart Cut Quantity: %u\n",carts[i].cart_cut_quantity);
|
||||
printf(" Cart Last Cut Played: %03u\n",carts[i].cart_last_cut_played);
|
||||
printf(" Cart Validity: %u\n",carts[i].cart_validity);
|
||||
printf(" Cart Enforce Length: %d\n",carts[i].cart_enforce_length);
|
||||
printf(" Cart Asyncronous: %d\n",carts[i].cart_asyncronous);
|
||||
printf(" Cart Owner: %s\n",carts[i].cart_owner);
|
||||
printf("Cart Metadata year value : %d\n",carts[i].cart_metadata_datetime.tm_year);
|
||||
printf("Cart Metadata mon value : %d\n",carts[i].cart_metadata_datetime.tm_mon);
|
||||
printf("Cart Metadata day value : %d\n",carts[i].cart_metadata_datetime.tm_mday);
|
||||
printf("Cart Metadata wday value : %d\n",carts[i].cart_metadata_datetime.tm_wday);
|
||||
printf("Cart Metadata hour value : %d\n",carts[i].cart_metadata_datetime.tm_hour);
|
||||
printf("Cart Metadata min value : %d\n",carts[i].cart_metadata_datetime.tm_min);
|
||||
printf("Cart Metadata sec value : %d\n",carts[i].cart_metadata_datetime.tm_sec);
|
||||
printf("Cart Metadata isdst : %d\n",carts[i].cart_metadata_datetime.tm_isdst);
|
||||
//printf(" Cart Metadata Datetime: %s\n",carts[i].cart_metadata_datetime);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cart list when finished with it
|
||||
//
|
||||
free(carts);
|
||||
|
||||
exit(0);
|
||||
}
|
224
apis/rivwebcapi/tests/listcartschedcodes_test.c
Normal file
224
apis/rivwebcapi/tests/listcartschedcodes_test.c
Normal file
@@ -0,0 +1,224 @@
|
||||
/* listcartschedulcodes.c
|
||||
*
|
||||
* Test the listcartschedulcodes library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listcartschedcodes.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_schedcodes *schedcodes=0;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListCartSchedCodes(&schedcodes,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Cart Number: %ld\n", cart);
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Code: %s\n",schedcodes[i].code);
|
||||
printf(" Description: %s\n",schedcodes[i].description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(schedcodes);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListCartSchedCodes(&schedcodes,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Cart Number: %ld\n", cart);
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Code: %s\n",schedcodes[i].code);
|
||||
printf(" Description: %s\n",schedcodes[i].description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(schedcodes);
|
||||
|
||||
exit(0);
|
||||
}
|
395
apis/rivwebcapi/tests/listcut_test.c
Normal file
395
apis/rivwebcapi/tests/listcut_test.c
Normal file
@@ -0,0 +1,395 @@
|
||||
/* listcuts_test.c
|
||||
*
|
||||
* Test the listcuts library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listcut.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cut *cuts=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
long int cut=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please enter the Cut Number for the Cart used above ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cut = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_ListCut(&cuts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Origin Login Name: %s\n",cuts[i].cut_origin_login_name);
|
||||
printf(" Source Hostname: %s\n",cuts[i].cut_source_hostname);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cuts list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_ListCut(&cuts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Origin Login Name: %s\n",cuts[i].cut_origin_login_name);
|
||||
printf(" Source Hostname: %s\n",cuts[i].cut_source_hostname);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the cuts list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
exit(0);
|
||||
}
|
375
apis/rivwebcapi/tests/listcuts_test.c
Normal file
375
apis/rivwebcapi/tests/listcuts_test.c
Normal file
@@ -0,0 +1,375 @@
|
||||
/* listcuts_test.c
|
||||
*
|
||||
* Test the listcuts library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listcuts.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_cut *cuts=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to List CUTS ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_ListCuts(&cuts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Origin Login Name: %s\n",cuts[i].cut_origin_login_name);
|
||||
printf(" Source Hostname: %s\n",cuts[i].cut_source_hostname);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
//
|
||||
// Free the cut list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_ListCuts(&cuts,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart Number");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cut Name: %s\n",cuts[i].cut_name);
|
||||
printf(" Cut Cart Number: %u\n",cuts[i].cut_cart_number);
|
||||
printf(" Cut Number: %u\n",cuts[i].cut_cut_number);
|
||||
printf(" Evergreen: %d\n",cuts[i].cut_evergreen);
|
||||
printf(" Cut Description: %s\n",cuts[i].cut_description);
|
||||
printf(" Cut Outcue: %s\n",cuts[i].cut_outcue);
|
||||
printf(" Cut ISRC: %s\n",cuts[i].cut_isrc);
|
||||
printf(" Cut ISCI: %s\n",cuts[i].cut_isci);
|
||||
printf(" Cut Length: %u\n",cuts[i].cut_length);
|
||||
printf(" Cut Origin Date Time\n");
|
||||
printf("Cut Origin year value : %d\n",cuts[i].cut_origin_datetime.tm_year);
|
||||
printf("Cut Origin month value : %d\n",cuts[i].cut_origin_datetime.tm_mon);
|
||||
printf("Cut Origin day value : %d\n",cuts[i].cut_origin_datetime.tm_mday);
|
||||
printf("Cut Origin wday value : %d\n",cuts[i].cut_origin_datetime.tm_wday);
|
||||
printf("Cut Origin hour value : %d\n",cuts[i].cut_origin_datetime.tm_hour);
|
||||
printf("Cut Origin min value : %d\n",cuts[i].cut_origin_datetime.tm_min);
|
||||
printf("Cut Origin sec value : %d\n",cuts[i].cut_origin_datetime.tm_sec);
|
||||
printf("Cut Origin isdst value : %d\n",cuts[i].cut_origin_datetime.tm_isdst);
|
||||
printf(" Cut Start Date Time\n");
|
||||
printf("Cut Start year value : %d\n",cuts[i].cut_start_datetime.tm_year);
|
||||
printf("Cut Start month value : %d\n",cuts[i].cut_start_datetime.tm_mon);
|
||||
printf("Cut Start day value : %d\n",cuts[i].cut_start_datetime.tm_mday);
|
||||
printf("Cut Start wday value : %d\n",cuts[i].cut_start_datetime.tm_wday);
|
||||
printf("Cut Start hour value : %d\n",cuts[i].cut_start_datetime.tm_hour);
|
||||
printf("Cut Start min value : %d\n",cuts[i].cut_start_datetime.tm_min);
|
||||
printf("Cut Start sec value : %d\n",cuts[i].cut_start_datetime.tm_sec);
|
||||
printf("Cut Start isdst value : %d\n",cuts[i].cut_start_datetime.tm_isdst);
|
||||
printf(" Cut End Date Time\n");
|
||||
printf("Cut End year value : %d\n",cuts[i].cut_end_datetime.tm_year);
|
||||
printf("Cut End month value : %d\n",cuts[i].cut_end_datetime.tm_mon);
|
||||
printf("Cut End day value : %d\n",cuts[i].cut_end_datetime.tm_mday);
|
||||
printf("Cut End wday value : %d\n",cuts[i].cut_end_datetime.tm_wday);
|
||||
printf("Cut End hour value : %d\n",cuts[i].cut_end_datetime.tm_hour);
|
||||
printf("Cut End min value : %d\n",cuts[i].cut_end_datetime.tm_min);
|
||||
printf("Cut End sec value : %d\n",cuts[i].cut_end_datetime.tm_sec);
|
||||
printf("Cut End isdst value : %d\n",cuts[i].cut_end_datetime.tm_isdst);
|
||||
printf(" Cut Sun: %d\n",cuts[i].cut_sun);
|
||||
printf(" Cut Mon: %d\n",cuts[i].cut_mon);
|
||||
printf(" Cut Tue: %d\n",cuts[i].cut_tue);
|
||||
printf(" Cut Wed: %d\n",cuts[i].cut_wed);
|
||||
printf(" Cut Thu: %d\n",cuts[i].cut_thu);
|
||||
printf(" Cut Fri: %d\n",cuts[i].cut_fri);
|
||||
printf(" Cut Sat: %d\n",cuts[i].cut_sat);
|
||||
printf(" Cut Start Daypart: %s\n",cuts[i].cut_start_daypart);
|
||||
printf(" Cut End Daypart: %s\n",cuts[i].cut_end_daypart);
|
||||
printf(" Cut Origin Name: %s\n",cuts[i].cut_origin_name);
|
||||
printf(" Cut Origin Login Name: %s\n",cuts[i].cut_origin_login_name);
|
||||
printf(" Source Hostname: %s\n",cuts[i].cut_source_hostname);
|
||||
printf(" Cut Weight: %u\n",cuts[i].cut_weight);
|
||||
printf(" Cut Last Play Date Time\n");
|
||||
printf("Cut LastPlay year value : %d\n",cuts[i].cut_last_play_datetime.tm_year);
|
||||
printf("Cut LastPlay month value : %d\n",cuts[i].cut_last_play_datetime.tm_mon);
|
||||
printf("Cut LastPlay day value : %d\n",cuts[i].cut_last_play_datetime.tm_mday);
|
||||
printf("Cut LastPlay wday value : %d\n",cuts[i].cut_last_play_datetime.tm_wday);
|
||||
printf("Cut LastPlay hour value : %d\n",cuts[i].cut_last_play_datetime.tm_hour);
|
||||
printf("Cut LastPlay min value : %d\n",cuts[i].cut_last_play_datetime.tm_min);
|
||||
printf("Cut LastPlay sec value : %d\n",cuts[i].cut_last_play_datetime.tm_sec);
|
||||
printf("Cut LastPlay isdst value : %d\n",cuts[i].cut_last_play_datetime.tm_isdst);
|
||||
printf(" Cut Play Counter: %u\n",cuts[i].cut_play_counter);
|
||||
printf(" Cut Local Counter: %u\n",cuts[i].cut_local_counter);
|
||||
printf(" Cut Validity: %u\n",cuts[i].cut_validity);
|
||||
printf(" Cut Coding Format: %u\n",cuts[i].cut_coding_format);
|
||||
printf(" Cut Sample Rate: %u\n",cuts[i].cut_sample_rate);
|
||||
printf(" Cut Bit Rate: %u\n",cuts[i].cut_bit_rate);
|
||||
printf(" Cut Channels: %u\n",cuts[i].cut_channels);
|
||||
printf(" Cut Play Gain: %d\n",cuts[i].cut_play_gain);
|
||||
printf(" Cut Start Point: %d\n",cuts[i].cut_start_point);
|
||||
printf(" Cut End Point: %d\n",cuts[i].cut_end_point);
|
||||
printf(" Cut Fade Up Point: %d\n",cuts[i].cut_fadeup_point);
|
||||
printf(" Cut Fade Down Point: %d\n",cuts[i].cut_fadedown_point);
|
||||
printf(" Cut Segue Start Point: %d\n",cuts[i].cut_segue_start_point);
|
||||
printf(" Cut Segue End Point: %d\n",cuts[i].cut_segue_end_point);
|
||||
printf(" Cut Segue Gain: %d\n",cuts[i].cut_segue_gain);
|
||||
printf(" Cut Hook Start Point: %d\n",cuts[i].cut_hook_start_point);
|
||||
printf(" Cut Hook End Point: %d\n",cuts[i].cut_hook_end_point);
|
||||
printf(" Cut Talk Start Point: %d\n",cuts[i].cut_talk_start_point);
|
||||
printf(" Cut Talk End Point: %d\n",cuts[i].cut_talk_end_point);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
//
|
||||
// Free the cut list when finished with it
|
||||
//
|
||||
free(cuts);
|
||||
|
||||
exit(0);
|
||||
}
|
238
apis/rivwebcapi/tests/listgroup_test.c
Normal file
238
apis/rivwebcapi/tests/listgroup_test.c
Normal file
@@ -0,0 +1,238 @@
|
||||
/* listgroup_test.c
|
||||
*
|
||||
* Test the listgroups library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listgroup.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
struct rd_group *grp=0;
|
||||
unsigned numrecs;
|
||||
char grp_name[BUFSIZ];
|
||||
char *grpptr;
|
||||
int i;
|
||||
char buf[BUFSIZ];
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
grpptr = &grp_name[0];
|
||||
printf("Please enter the Group Name you want to list ==>");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
for (i = 0; i < strlen(buf) ; i++) {
|
||||
if (buf[i]>32) {
|
||||
strncpy(grpptr,&buf[i],1);
|
||||
grpptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
strcat(grp_name,"\0");
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListGroup(&grp,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
grp_name,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Group Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if (numrecs==1) {
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Group Name : %s\n",grp[0].grp_name);
|
||||
printf(" Description: %s\n",grp[0].grp_desc);
|
||||
printf(" Default cart type: %u\n",grp[0].grp_default_cart_type);
|
||||
printf(" Low Cart: %06u\n",grp[0].grp_lo_limit);
|
||||
printf(" High Cart: %06u\n",grp[0].grp_hi_limit);
|
||||
printf(" Shelf Life: %d\n",grp[0].grp_shelf_life);
|
||||
printf(" Default Title: %s\n",grp[0].grp_default_title);
|
||||
printf(" Enforce Cart Range: %u\n",grp[0].grp_enforce_range);
|
||||
printf(" Incl. in Traffic: %u\n",grp[0].grp_report_tfc);
|
||||
printf(" Incl. in Music: %u\n",grp[0].grp_report_mus);
|
||||
printf(" Send Now & Next: %u\n",grp[0].grp_now_next);
|
||||
printf(" Color: %s\n",grp[0].grp_color);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the group list when finished with it
|
||||
//
|
||||
free(grp);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListGroup(&grp,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
grp_name,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Group Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if (numrecs==1) {
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Group Name : %s\n",grp[0].grp_name);
|
||||
printf(" Description: %s\n",grp[0].grp_desc);
|
||||
printf(" Default cart type: %u\n",grp[0].grp_default_cart_type);
|
||||
printf(" Low Cart: %06u\n",grp[0].grp_lo_limit);
|
||||
printf(" High Cart: %06u\n",grp[0].grp_hi_limit);
|
||||
printf(" Shelf Life: %d\n",grp[0].grp_shelf_life);
|
||||
printf(" Default Title: %s\n",grp[0].grp_default_title);
|
||||
printf(" Enforce Cart Range: %u\n",grp[0].grp_enforce_range);
|
||||
printf(" Incl. in Traffic: %u\n",grp[0].grp_report_tfc);
|
||||
printf(" Incl. in Music: %u\n",grp[0].grp_report_mus);
|
||||
printf(" Send Now & Next: %u\n",grp[0].grp_now_next);
|
||||
printf(" Color: %s\n",grp[0].grp_color);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the group list when finished with it
|
||||
//
|
||||
free(grp);
|
||||
exit(0);
|
||||
}
|
208
apis/rivwebcapi/tests/listgroups_test.c
Normal file
208
apis/rivwebcapi/tests/listgroups_test.c
Normal file
@@ -0,0 +1,208 @@
|
||||
/* listgroups_test.c
|
||||
*
|
||||
* Test the listgroups library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listgroups.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_group *grps=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListGroups(&grps,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf("%s:\n",grps[i].grp_name);
|
||||
printf(" Description: %s\n",grps[i].grp_desc);
|
||||
printf(" Default cart type: %u\n",grps[i].grp_default_cart_type);
|
||||
printf(" Low Cart: %06u\n",grps[i].grp_lo_limit);
|
||||
printf(" High Cart: %06u\n",grps[i].grp_hi_limit);
|
||||
printf(" Shelf Life: %d\n",grps[i].grp_shelf_life);
|
||||
printf(" Default Title: %s\n",grps[i].grp_default_title);
|
||||
printf(" Enforce Cart Range: %u\n",grps[i].grp_enforce_range);
|
||||
printf(" Incl. in Traffic: %u\n",grps[i].grp_report_tfc);
|
||||
printf(" Incl. in Music: %u\n",grps[i].grp_report_mus);
|
||||
printf(" Send Now & Next: %u\n",grps[i].grp_now_next);
|
||||
printf(" Color: %s\n",grps[i].grp_color);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the group list when finished with it
|
||||
//
|
||||
free(grps);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListGroups(&grps,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf("%s:\n",grps[i].grp_name);
|
||||
printf(" Description: %s\n",grps[i].grp_desc);
|
||||
printf(" Default cart type: %u\n",grps[i].grp_default_cart_type);
|
||||
printf(" Low Cart: %06u\n",grps[i].grp_lo_limit);
|
||||
printf(" High Cart: %06u\n",grps[i].grp_hi_limit);
|
||||
printf(" Shelf Life: %d\n",grps[i].grp_shelf_life);
|
||||
printf(" Default Title: %s\n",grps[i].grp_default_title);
|
||||
printf(" Enforce Cart Range: %u\n",grps[i].grp_enforce_range);
|
||||
printf(" Incl. in Traffic: %u\n",grps[i].grp_report_tfc);
|
||||
printf(" Incl. in Music: %u\n",grps[i].grp_report_mus);
|
||||
printf(" Send Now & Next: %u\n",grps[i].grp_now_next);
|
||||
printf(" Color: %s\n",grps[i].grp_color);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the group list when finished with it
|
||||
//
|
||||
free(grps);
|
||||
|
||||
exit(0);
|
||||
}
|
377
apis/rivwebcapi/tests/listlog_test.c
Normal file
377
apis/rivwebcapi/tests/listlog_test.c
Normal file
@@ -0,0 +1,377 @@
|
||||
/* listlog_test.c
|
||||
*
|
||||
* Test the listlog library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listlog.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_logline *logline=0;
|
||||
char buf[BUFSIZ];
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char starttime_buf[15];
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Log Name ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListLog(&logline,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
buf,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" LogLine Line Number: %d\n",logline[i].logline_line);
|
||||
printf(" LogLine Id: %d\n",logline[i].logline_id);
|
||||
printf(" LogLine Type: %d\n",logline[i].logline_type);
|
||||
printf(" LogLine Cart Type: %d\n",logline[i].logline_cart_type);
|
||||
printf(" LogLine Cart Number: %u\n",logline[i].logline_cart_number);
|
||||
printf(" LogLine Cut Number: %d\n",logline[i].logline_cut_number);
|
||||
printf(" LogLine Group Name: %s\n",logline[i].logline_group_name);
|
||||
printf(" LogLine Group Color: %s\n",logline[i].logline_group_color);
|
||||
printf(" LogLine Title: %s\n",logline[i].logline_title);
|
||||
printf(" LogLine Artist: %s\n",logline[i].logline_artist);
|
||||
printf(" LogLine Album: %s\n",logline[i].logline_album);
|
||||
printf(" LogLine Year: %d\n",logline[i].logline_year);
|
||||
printf(" LogLine Label: %s\n",logline[i].logline_label);
|
||||
printf(" LogLine Client: %s\n",logline[i].logline_client);
|
||||
printf(" LogLine Agency: %s\n",logline[i].logline_agency);
|
||||
printf(" LogLine Publisher: %s\n",logline[i].logline_publisher);
|
||||
printf(" LogLine Composer: %s\n",logline[i].logline_composer);
|
||||
printf(" LogLine Conductor: %s\n",logline[i].logline_conductor);
|
||||
printf(" LogLine User Defined: %s\n",logline[i].logline_user_defined);
|
||||
printf(" LogLine Usage Code: %d\n",logline[i].logline_usage_code);
|
||||
printf(" LogLine Enforce Length: %d\n",logline[i].logline_enforce_length);
|
||||
printf(" LogLine Forced Length: %d\n",logline[i].logline_forced_length);
|
||||
printf(" LogLine Evergreen: %d\n",logline[i].logline_evergreen);
|
||||
printf(" LogLine Source: %d\n",logline[i].logline_source);
|
||||
printf(" LogLine Time Type: %d\n",logline[i].logline_time_type);
|
||||
if(RD_Cnv_msec_to_TString(starttime_buf,14,logline[i].logline_starttime)==0) {
|
||||
printf(" LogLine Start Time: %d\n",
|
||||
logline[i].logline_starttime);
|
||||
}
|
||||
else {
|
||||
printf(" LogLine Start Time: %d [%s]\n",
|
||||
logline[i].logline_starttime,starttime_buf);
|
||||
}
|
||||
printf(" LogLine Transition Type: %d\n",logline[i].logline_transition_type);
|
||||
printf(" LogLine Cut Quantity: %d\n",logline[i].logline_cut_quantity);
|
||||
printf(" LogLine Last Cut Played: %d\n",logline[i].logline_last_cut_played);
|
||||
printf(" LogLine Marker Comment: %s\n",logline[i].logline_marker_comment);
|
||||
printf(" LogLine Marker Label: %s\n",logline[i].logline_marker_label);
|
||||
printf(" LogLine Origin User: %s\n",logline[i].logline_origin_user);
|
||||
printf(" LogLine Origin DateTime\n");
|
||||
printf("LogLine OriginDateTime year value : %d\n",logline[i].logline_origin_datetime.tm_year);
|
||||
printf("LogLine OriginDateTime mon value : %d\n",logline[i].logline_origin_datetime.tm_mon);
|
||||
printf("LogLine OriginDateTime mday value : %d\n",logline[i].logline_origin_datetime.tm_mday);
|
||||
printf("LogLine OriginDateTime day value : %d\n",logline[i].logline_origin_datetime.tm_wday);
|
||||
printf("LogLine OriginDateTime hour value : %d\n",logline[i].logline_origin_datetime.tm_hour);
|
||||
printf("LogLine OriginDateTime min value : %d\n",logline[i].logline_origin_datetime.tm_min);
|
||||
printf("LogLine OriginDateTime sec value : %d\n",logline[i].logline_origin_datetime.tm_sec);
|
||||
printf("LogLine OriginDateTime isdst : %d\n",logline[i].logline_origin_datetime.tm_isdst);
|
||||
printf(" LogLine Start Point Cart: %d\n",logline[i].logline_start_point_cart);
|
||||
printf(" LogLineStart Point Log: %d\n",logline[i].logline_start_point_log);
|
||||
printf(" LogLine End Point Cart: %d\n",logline[i].logline_end_point_cart);
|
||||
printf(" LogLine End Point Log: %d\n",logline[i].logline_end_point_log);
|
||||
printf(" LogLine Segue Start Point Cart: %d\n",logline[i].logline_segue_start_point_cart);
|
||||
printf(" LogLine Segue Start Point Log: %d\n",logline[i].logline_segue_start_point_log);
|
||||
printf(" LogLine Segue End Point Cart: %d\n",logline[i].logline_segue_end_point_cart);
|
||||
printf(" LogLine Segue End Point Log: %d\n",logline[i].logline_segue_end_point_log);
|
||||
printf(" LogLine Segue Gain: %d\n",logline[i].logline_segue_gain);
|
||||
printf(" LogLine FadeUp Point Cart: %d\n",logline[i].logline_fadeup_point_cart);
|
||||
printf(" LogLine FadeUp Point Log: %d\n",logline[i].logline_fadeup_point_log);
|
||||
printf(" LogLine FadeUp Gain: %d\n",logline[i].logline_fadeup_gain);
|
||||
printf(" LogLine FadeDown Point Cart: %d\n",logline[i].logline_fadedown_point_cart);
|
||||
printf(" LogLine FadeDown Point Log: %d\n",logline[i].logline_fadedown_point_log);
|
||||
printf(" LogLine DuckUp Gain: %d\n",logline[i].logline_duckup_gain);
|
||||
printf(" LogLine DuckDown Gain: %d\n",logline[i].logline_duckdown_gain);
|
||||
printf(" LogLine Talk Start Point: %d\n",logline[i].logline_talk_start_point);
|
||||
printf(" LogLine Talk End Point: %d\n",logline[i].logline_talk_end_point);
|
||||
printf(" LogLine Hook Mode: %d\n",logline[i].logline_hook_mode);
|
||||
printf(" LogLine Hook Start Point: %d\n",logline[i].logline_hook_start_point);
|
||||
printf(" LogLine Hook End Point: %d\n",logline[i].logline_hook_end_point);
|
||||
|
||||
printf(" LogLine Event Length: %d\n",logline[i].logline_event_length);
|
||||
printf(" LogLine Link Event Name: %s\n",logline[i].logline_link_event_name);
|
||||
printf(" LogLine Link Start Time: %d\n",logline[i].logline_link_starttime);
|
||||
printf(" LogLine Link Start Slop: %d\n",logline[i].logline_link_start_slop);
|
||||
printf(" LogLine Link End Slop: %d\n",logline[i].logline_link_end_slop);
|
||||
printf(" LogLine Link Id: %d\n",logline[i].logline_link_id);
|
||||
printf(" LogLine Link Embedded: %d\n",logline[i].logline_link_embedded);
|
||||
printf(" LogLine Ext Start Time: %d\n",logline[i].logline_ext_starttime);
|
||||
printf(" LogLine Ext Length: %d\n",logline[i].logline_ext_length);
|
||||
printf(" LogLine Ext Cart Name: %s\n",logline[i].logline_ext_cart_name);
|
||||
printf(" LogLine Ext Data: %s\n",logline[i].logline_ext_data);
|
||||
printf(" LogLine Ext Event Id: %s\n",logline[i].logline_ext_event_id);
|
||||
printf(" LogLine Ext Annc Type: %s\n",logline[i].logline_ext_annc_type);
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the Log Line list when finished with it
|
||||
//
|
||||
free(logline);
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListLog(&logline,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
buf,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" LogLine Line Number: %d\n",logline[i].logline_line);
|
||||
printf(" LogLine Id: %d\n",logline[i].logline_id);
|
||||
printf(" LogLine Type: %d\n",logline[i].logline_type);
|
||||
printf(" LogLine Cart Type: %d\n",logline[i].logline_cart_type);
|
||||
printf(" LogLine Cart Number: %u\n",logline[i].logline_cart_number);
|
||||
printf(" LogLine Cut Number: %d\n",logline[i].logline_cut_number);
|
||||
printf(" LogLine Group Name: %s\n",logline[i].logline_group_name);
|
||||
printf(" LogLine Group Color: %s\n",logline[i].logline_group_color);
|
||||
printf(" LogLine Title: %s\n",logline[i].logline_title);
|
||||
printf(" LogLine Artist: %s\n",logline[i].logline_artist);
|
||||
printf(" LogLine Album: %s\n",logline[i].logline_album);
|
||||
printf(" LogLine Year: %d\n",logline[i].logline_year);
|
||||
printf(" LogLine Label: %s\n",logline[i].logline_label);
|
||||
printf(" LogLine Client: %s\n",logline[i].logline_client);
|
||||
printf(" LogLine Agency: %s\n",logline[i].logline_agency);
|
||||
printf(" LogLine Publisher: %s\n",logline[i].logline_publisher);
|
||||
printf(" LogLine Composer: %s\n",logline[i].logline_composer);
|
||||
printf(" LogLine Conductor: %s\n",logline[i].logline_conductor);
|
||||
printf(" LogLine User Defined: %s\n",logline[i].logline_user_defined);
|
||||
printf(" LogLine Usage Code: %d\n",logline[i].logline_usage_code);
|
||||
printf(" LogLine Enforce Length: %d\n",logline[i].logline_enforce_length);
|
||||
printf(" LogLine Forced Length: %d\n",logline[i].logline_forced_length);
|
||||
printf(" LogLine Evergreen: %d\n",logline[i].logline_evergreen);
|
||||
printf(" LogLine Source: %d\n",logline[i].logline_source);
|
||||
printf(" LogLine Time Type: %d\n",logline[i].logline_time_type);
|
||||
if(RD_Cnv_msec_to_TString(starttime_buf,14,logline[i].logline_starttime)==0) {
|
||||
printf(" LogLine Start Time: %d\n",
|
||||
logline[i].logline_starttime);
|
||||
}
|
||||
else {
|
||||
printf(" LogLine Start Time: %d [%s]\n",
|
||||
logline[i].logline_starttime,starttime_buf);
|
||||
}
|
||||
printf(" LogLine Transition Type: %d\n",logline[i].logline_transition_type);
|
||||
printf(" LogLine Cut Quantity: %d\n",logline[i].logline_cut_quantity);
|
||||
printf(" LogLine Last Cut Played: %d\n",logline[i].logline_last_cut_played);
|
||||
printf(" LogLine Marker Comment: %s\n",logline[i].logline_marker_comment);
|
||||
printf(" LogLine Marker Label: %s\n",logline[i].logline_marker_label);
|
||||
printf(" LogLine Origin User: %s\n",logline[i].logline_origin_user);
|
||||
printf(" LogLine Origin DateTime\n");
|
||||
printf("LogLine OriginDateTime year value : %d\n",logline[i].logline_origin_datetime.tm_year);
|
||||
printf("LogLine OriginDateTime mon value : %d\n",logline[i].logline_origin_datetime.tm_mon);
|
||||
printf("LogLine OriginDateTime mday value : %d\n",logline[i].logline_origin_datetime.tm_mday);
|
||||
printf("LogLine OriginDateTime day value : %d\n",logline[i].logline_origin_datetime.tm_wday);
|
||||
printf("LogLine OriginDateTime hour value : %d\n",logline[i].logline_origin_datetime.tm_hour);
|
||||
printf("LogLine OriginDateTime min value : %d\n",logline[i].logline_origin_datetime.tm_min);
|
||||
printf("LogLine OriginDateTime sec value : %d\n",logline[i].logline_origin_datetime.tm_sec);
|
||||
printf("LogLine OriginDateTime isdst : %d\n",logline[i].logline_origin_datetime.tm_isdst);
|
||||
printf(" LogLine Start Point Cart: %d\n",logline[i].logline_start_point_cart);
|
||||
printf(" LogLineStart Point Log: %d\n",logline[i].logline_start_point_log);
|
||||
printf(" LogLine End Point Cart: %d\n",logline[i].logline_end_point_cart);
|
||||
printf(" LogLine End Point Log: %d\n",logline[i].logline_end_point_log);
|
||||
printf(" LogLine Segue Start Point Cart: %d\n",logline[i].logline_segue_start_point_cart);
|
||||
printf(" LogLine Segue Start Point Log: %d\n",logline[i].logline_segue_start_point_log);
|
||||
printf(" LogLine Segue End Point Cart: %d\n",logline[i].logline_segue_end_point_cart);
|
||||
printf(" LogLine Segue End Point Log: %d\n",logline[i].logline_segue_end_point_log);
|
||||
printf(" LogLine Segue Gain: %d\n",logline[i].logline_segue_gain);
|
||||
printf(" LogLine FadeUp Point Cart: %d\n",logline[i].logline_fadeup_point_cart);
|
||||
printf(" LogLine FadeUp Point Log: %d\n",logline[i].logline_fadeup_point_log);
|
||||
printf(" LogLine FadeUp Gain: %d\n",logline[i].logline_fadeup_gain);
|
||||
printf(" LogLine FadeDown Point Cart: %d\n",logline[i].logline_fadedown_point_cart);
|
||||
printf(" LogLine FadeDown Point Log: %d\n",logline[i].logline_fadedown_point_log);
|
||||
printf(" LogLine DuckUp Gain: %d\n",logline[i].logline_duckup_gain);
|
||||
printf(" LogLine DuckDown Gain: %d\n",logline[i].logline_duckdown_gain);
|
||||
printf(" LogLine Talk Start Point: %d\n",logline[i].logline_talk_start_point);
|
||||
printf(" LogLine Talk End Point: %d\n",logline[i].logline_talk_end_point);
|
||||
printf(" LogLine Hook Mode: %d\n",logline[i].logline_hook_mode);
|
||||
printf(" LogLine Hook Start Point: %d\n",logline[i].logline_hook_start_point);
|
||||
printf(" LogLine Hook End Point: %d\n",logline[i].logline_hook_end_point);
|
||||
|
||||
printf(" LogLine Event Length: %d\n",logline[i].logline_event_length);
|
||||
printf(" LogLine Link Event Name: %s\n",logline[i].logline_link_event_name);
|
||||
printf(" LogLine Link Start Time: %d\n",logline[i].logline_link_starttime);
|
||||
printf(" LogLine Link Start Slop: %d\n",logline[i].logline_link_start_slop);
|
||||
printf(" LogLine Link End Slop: %d\n",logline[i].logline_link_end_slop);
|
||||
printf(" LogLine Link Id: %d\n",logline[i].logline_link_id);
|
||||
printf(" LogLine Link Embedded: %d\n",logline[i].logline_link_embedded);
|
||||
printf(" LogLine Ext Start Time: %d\n",logline[i].logline_ext_starttime);
|
||||
printf(" LogLine Ext Length: %d\n",logline[i].logline_ext_length);
|
||||
printf(" LogLine Ext Cart Name: %s\n",logline[i].logline_ext_cart_name);
|
||||
printf(" LogLine Ext Data: %s\n",logline[i].logline_ext_data);
|
||||
printf(" LogLine Ext Event Id: %s\n",logline[i].logline_ext_event_id);
|
||||
printf(" LogLine Ext Annc Type: %s\n",logline[i].logline_ext_annc_type);
|
||||
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the Log Line list when finished with it
|
||||
//
|
||||
free(logline);
|
||||
|
||||
exit(0);
|
||||
}
|
381
apis/rivwebcapi/tests/listlogs_test.c
Normal file
381
apis/rivwebcapi/tests/listlogs_test.c
Normal file
@@ -0,0 +1,381 @@
|
||||
/* listlogs_test.c
|
||||
*
|
||||
* Test the listlog library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_listlogs.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_log *logs=0;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
char svcname[11]={0};
|
||||
char logname[65]={0};
|
||||
long int trackable=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char filter[255];
|
||||
long int recent=0;
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Service Name (default is All) ==> ");
|
||||
if(fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
strncpy(svcname,buf,10);
|
||||
}
|
||||
fflush(stdin);
|
||||
printf("Please enter the Log Name (default is All) ==> ");
|
||||
if(fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
strncpy(logname,buf,64);
|
||||
}
|
||||
fflush(stdin);
|
||||
printf("Please enter the Filter string (default is none) ==> ");
|
||||
if(fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
strncpy(filter,buf,255);
|
||||
}
|
||||
fflush(stdin);
|
||||
printf("Please enter 1 if you want trackable logs ==>");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
trackable = strtol(buf,&p,10);
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter 1 if you want only recent logs ==>");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
recent = strtol(buf,&p,10);
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListLogs(&logs,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
&svcname[0],
|
||||
&logname[0],
|
||||
(int)trackable,
|
||||
filter,
|
||||
(int)recent,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During ListLogs call\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Log Name: %s\n",logs[i].log_name);
|
||||
printf(" Log Service: %s\n",logs[i].log_service);
|
||||
printf(" Log Description: %s\n",logs[i].log_description);
|
||||
printf(" Log Origin User Name: %s\n",logs[i].log_origin_username);
|
||||
printf(" Log Origin DateTime\n");
|
||||
printf("Log OriginDate year value : %d\n",logs[i].log_origin_datetime.tm_year);
|
||||
printf("Log OriginDate mon value : %d\n",logs[i].log_origin_datetime.tm_mon);
|
||||
printf("Log OriginDate mday value : %d\n",logs[i].log_origin_datetime.tm_mday);
|
||||
printf("Log OriginDate day value : %d\n",logs[i].log_origin_datetime.tm_wday);
|
||||
printf("Log OriginDate hour value : %d\n",logs[i].log_origin_datetime.tm_hour);
|
||||
printf("Log OriginDate min value : %d\n",logs[i].log_origin_datetime.tm_min);
|
||||
printf("Log OriginDate sec value : %d\n",logs[i].log_origin_datetime.tm_sec);
|
||||
printf("Log OriginDate isdst : %d\n",logs[i].log_origin_datetime.tm_isdst);
|
||||
printf(" Log Purge Date\n");
|
||||
printf("Log PurgeDate year value : %d\n",logs[i].log_purge_date.tm_year);
|
||||
printf("Log PurgeDate mon value : %d\n",logs[i].log_purge_date.tm_mon);
|
||||
printf("Log PurgeDate mday value : %d\n",logs[i].log_purge_date.tm_mday);
|
||||
printf("Log PurgeDate day value : %d\n",logs[i].log_purge_date.tm_wday);
|
||||
printf("Log PurgeDate hour value : %d\n",logs[i].log_purge_date.tm_hour);
|
||||
printf("Log PurgeDate min value : %d\n",logs[i].log_purge_date.tm_min);
|
||||
printf("Log PurgeDate sec value : %d\n",logs[i].log_purge_date.tm_sec);
|
||||
printf("Log PurgeDate isdst : %d\n",logs[i].log_purge_date.tm_isdst);
|
||||
printf(" Log Link DateTime\n");
|
||||
printf(" Log Link year value : %d\n",logs[i].log_link_datetime.tm_year);
|
||||
printf(" Log Link mon value : %d\n",logs[i].log_link_datetime.tm_mon);
|
||||
printf(" Log Link mday value : %d\n",logs[i].log_link_datetime.tm_mday);
|
||||
printf(" Log Link day value : %d\n",logs[i].log_link_datetime.tm_wday);
|
||||
printf(" Log Link hour value : %d\n",logs[i].log_link_datetime.tm_hour);
|
||||
printf(" Log Link min value : %d\n",logs[i].log_link_datetime.tm_min);
|
||||
printf(" Log Link sec value : %d\n",logs[i].log_link_datetime.tm_sec);
|
||||
printf(" Log Link isdst : %d\n",logs[i].log_link_datetime.tm_isdst);
|
||||
printf(" Log Modified DateTime\n");
|
||||
printf("Log Modified year value : %d\n",logs[i].log_modified_datetime.tm_year);
|
||||
printf("Log Modified mon value : %d\n",logs[i].log_modified_datetime.tm_mon);
|
||||
printf("Log Modified mday value : %d\n",logs[i].log_modified_datetime.tm_mday);
|
||||
printf("Log Modified day value : %d\n",logs[i].log_modified_datetime.tm_wday);
|
||||
printf("Log Modified hour value : %d\n",logs[i].log_modified_datetime.tm_hour);
|
||||
printf("Log Modified min value : %d\n",logs[i].log_modified_datetime.tm_min);
|
||||
printf("Log Modified sec value : %d\n",logs[i].log_modified_datetime.tm_sec);
|
||||
printf("Log Modified isdst : %d\n",logs[i].log_modified_datetime.tm_isdst);
|
||||
printf(" Log AutoRefresh: %d\n",logs[i].log_autorefresh);
|
||||
printf(" Log Start Date\n");
|
||||
printf("Log Start Date year value: %d\n",logs[i].log_startdate.tm_year);
|
||||
printf("Log Start Date mon value: %d\n",logs[i].log_startdate.tm_mon);
|
||||
printf("Log Start Date mday value: %d\n",logs[i].log_startdate.tm_mday);
|
||||
printf("Log Start Date day value: %d\n",logs[i].log_startdate.tm_wday);
|
||||
printf("Log Start Date hour value: %d\n",logs[i].log_startdate.tm_hour);
|
||||
printf("Log Start Date min value : %d\n",logs[i].log_startdate.tm_min);
|
||||
printf("Log Start Date sec value : %d\n",logs[i].log_startdate.tm_sec);
|
||||
printf("Log Start Date isdst : %d\n",logs[i].log_startdate.tm_isdst);
|
||||
printf(" Log End Date\n");
|
||||
printf("Log End Date year value : %d\n",logs[i].log_enddate.tm_year);
|
||||
printf("Log End Date mon value : %d\n",logs[i].log_enddate.tm_mon);
|
||||
printf("Log End Date mday value : %d\n",logs[i].log_enddate.tm_mday);
|
||||
printf("Log End Date day value : %d\n",logs[i].log_enddate.tm_wday);
|
||||
printf("Log End Date hour value : %d\n",logs[i].log_enddate.tm_hour);
|
||||
printf("Log End Date min value : %d\n",logs[i].log_enddate.tm_min);
|
||||
printf("Log End Date sec value : %d\n",logs[i].log_enddate.tm_sec);
|
||||
printf("Log End Date isdst : %d\n",logs[i].log_enddate.tm_isdst);
|
||||
printf(" Log Scheduled Tracks: %d\n",logs[i].log_scheduled_tracks);
|
||||
printf(" Log Completed Tracks: %d\n",logs[i].log_completed_tracks);
|
||||
printf(" Log Music Links: %d\n",logs[i].log_music_links);
|
||||
printf(" Log Music Linked: %d\n",logs[i].log_music_linked);
|
||||
printf(" Log Traffic Links: %d\n",logs[i].log_traffic_links);
|
||||
printf(" Log Traffic Linked: %d\n",logs[i].log_traffic_linked);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the Log list when finished with it
|
||||
//
|
||||
free(logs);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
//
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListLogs(&logs,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
&svcname[0],
|
||||
&logname[0],
|
||||
(int)trackable,
|
||||
filter,
|
||||
recent,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Log Name: %s\n",logs[i].log_name);
|
||||
printf(" Log Service: %s\n",logs[i].log_service);
|
||||
printf(" Log Description: %s\n",logs[i].log_description);
|
||||
printf(" Log Origin User Name: %s\n",logs[i].log_origin_username);
|
||||
printf(" Log Origin DateTime\n");
|
||||
printf("Log OriginDate year value : %d\n",logs[i].log_origin_datetime.tm_year);
|
||||
printf("Log OriginDate mon value : %d\n",logs[i].log_origin_datetime.tm_mon);
|
||||
printf("Log OriginDate mday value : %d\n",logs[i].log_origin_datetime.tm_mday);
|
||||
printf("Log OriginDate day value : %d\n",logs[i].log_origin_datetime.tm_wday);
|
||||
printf("Log OriginDate hour value : %d\n",logs[i].log_origin_datetime.tm_hour);
|
||||
printf("Log OriginDate min value : %d\n",logs[i].log_origin_datetime.tm_min);
|
||||
printf("Log OriginDate sec value : %d\n",logs[i].log_origin_datetime.tm_sec);
|
||||
printf("Log OriginDate isdst : %d\n",logs[i].log_origin_datetime.tm_isdst);
|
||||
printf(" Log Purge Date\n");
|
||||
printf("Log PurgeDate year value : %d\n",logs[i].log_purge_date.tm_year);
|
||||
printf("Log PurgeDate mon value : %d\n",logs[i].log_purge_date.tm_mon);
|
||||
printf("Log PurgeDate mday value : %d\n",logs[i].log_purge_date.tm_mday);
|
||||
printf("Log PurgeDate day value : %d\n",logs[i].log_purge_date.tm_wday);
|
||||
printf("Log PurgeDate hour value : %d\n",logs[i].log_purge_date.tm_hour);
|
||||
printf("Log PurgeDate min value : %d\n",logs[i].log_purge_date.tm_min);
|
||||
printf("Log PurgeDate sec value : %d\n",logs[i].log_purge_date.tm_sec);
|
||||
printf("Log PurgeDate isdst : %d\n",logs[i].log_purge_date.tm_isdst);
|
||||
printf(" Log Link DateTime\n");
|
||||
printf(" Log Link year value : %d\n",logs[i].log_link_datetime.tm_year);
|
||||
printf(" Log Link mon value : %d\n",logs[i].log_link_datetime.tm_mon);
|
||||
printf(" Log Link mday value : %d\n",logs[i].log_link_datetime.tm_mday);
|
||||
printf(" Log Link day value : %d\n",logs[i].log_link_datetime.tm_wday);
|
||||
printf(" Log Link hour value : %d\n",logs[i].log_link_datetime.tm_hour);
|
||||
printf(" Log Link min value : %d\n",logs[i].log_link_datetime.tm_min);
|
||||
printf(" Log Link sec value : %d\n",logs[i].log_link_datetime.tm_sec);
|
||||
printf(" Log Link isdst : %d\n",logs[i].log_link_datetime.tm_isdst);
|
||||
printf(" Log Modified DateTime\n");
|
||||
printf("Log Modified year value : %d\n",logs[i].log_modified_datetime.tm_year);
|
||||
printf("Log Modified mon value : %d\n",logs[i].log_modified_datetime.tm_mon);
|
||||
printf("Log Modified mday value : %d\n",logs[i].log_modified_datetime.tm_mday);
|
||||
printf("Log Modified day value : %d\n",logs[i].log_modified_datetime.tm_wday);
|
||||
printf("Log Modified hour value : %d\n",logs[i].log_modified_datetime.tm_hour);
|
||||
printf("Log Modified min value : %d\n",logs[i].log_modified_datetime.tm_min);
|
||||
printf("Log Modified sec value : %d\n",logs[i].log_modified_datetime.tm_sec);
|
||||
printf("Log Modified isdst : %d\n",logs[i].log_modified_datetime.tm_isdst);
|
||||
printf(" Log AutoRefresh: %d\n",logs[i].log_autorefresh);
|
||||
printf(" Log Start Date\n");
|
||||
printf("Log Start Date year value: %d\n",logs[i].log_startdate.tm_year);
|
||||
printf("Log Start Date mon value: %d\n",logs[i].log_startdate.tm_mon);
|
||||
printf("Log Start Date mday value: %d\n",logs[i].log_startdate.tm_mday);
|
||||
printf("Log Start Date day value: %d\n",logs[i].log_startdate.tm_wday);
|
||||
printf("Log Start Date hour value: %d\n",logs[i].log_startdate.tm_hour);
|
||||
printf("Log Start Date min value : %d\n",logs[i].log_startdate.tm_min);
|
||||
printf("Log Start Date sec value : %d\n",logs[i].log_startdate.tm_sec);
|
||||
printf("Log Start Date isdst : %d\n",logs[i].log_startdate.tm_isdst);
|
||||
printf(" Log End Date\n");
|
||||
printf("Log End Date year value : %d\n",logs[i].log_enddate.tm_year);
|
||||
printf("Log End Date mon value : %d\n",logs[i].log_enddate.tm_mon);
|
||||
printf("Log End Date mday value : %d\n",logs[i].log_enddate.tm_mday);
|
||||
printf("Log End Date day value : %d\n",logs[i].log_enddate.tm_wday);
|
||||
printf("Log End Date hour value : %d\n",logs[i].log_enddate.tm_hour);
|
||||
printf("Log End Date min value : %d\n",logs[i].log_enddate.tm_min);
|
||||
printf("Log End Date sec value : %d\n",logs[i].log_enddate.tm_sec);
|
||||
printf("Log End Date isdst : %d\n",logs[i].log_enddate.tm_isdst);
|
||||
printf(" Log Scheduled Tracks: %d\n",logs[i].log_scheduled_tracks);
|
||||
printf(" Log Completed Tracks: %d\n",logs[i].log_completed_tracks);
|
||||
printf(" Log Music Links: %d\n",logs[i].log_music_links);
|
||||
printf(" Log Music Linked: %d\n",logs[i].log_music_linked);
|
||||
printf(" Log Traffic Links: %d\n",logs[i].log_traffic_links);
|
||||
printf(" Log Traffic Linked: %d\n",logs[i].log_traffic_linked);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the Log list when finished with it
|
||||
//
|
||||
free(logs);
|
||||
|
||||
exit(0);
|
||||
}
|
187
apis/rivwebcapi/tests/listschedcodes_test.c
Normal file
187
apis/rivwebcapi/tests/listschedcodes_test.c
Normal file
@@ -0,0 +1,187 @@
|
||||
/* listschedulcodes.c
|
||||
*
|
||||
* Test the listschedulcodes library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listschedcodes.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_schedcodes *schedcodes=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListSchedCodes(&schedcodes,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Code: %s\n",schedcodes[i].code);
|
||||
printf(" Description: %s\n",schedcodes[i].description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(schedcodes);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListSchedCodes(&schedcodes,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Code: %s\n",schedcodes[i].code);
|
||||
printf(" Description: %s\n",schedcodes[i].description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(schedcodes);
|
||||
|
||||
exit(0);
|
||||
}
|
211
apis/rivwebcapi/tests/listservices_test.c
Normal file
211
apis/rivwebcapi/tests/listservices_test.c
Normal file
@@ -0,0 +1,211 @@
|
||||
/* listservices_test.c
|
||||
*
|
||||
* Test the listservices library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listservices.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
long int trackable=0;
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
struct rd_service *services=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter 1 if you want trackable logs ==>");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
trackable = strtol(buf,&p,10);
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_ListServices(&services,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(int)trackable,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Service Name: %s\n",services[i].service_name);
|
||||
printf(" Service Description: %s\n",services[i].service_description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(services);
|
||||
|
||||
if (numrecs == 0)
|
||||
{
|
||||
printf(" No Services found\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result= RD_ListServices(&services,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(int)trackable,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Service Name: %s\n",services[i].service_name);
|
||||
printf(" Service Description: %s\n",services[i].service_description);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Free the services list when finished with it
|
||||
//
|
||||
free(services);
|
||||
|
||||
exit(0);
|
||||
}
|
210
apis/rivwebcapi/tests/listsystemsettings_test.c
Normal file
210
apis/rivwebcapi/tests/listsystemsettings_test.c
Normal file
@@ -0,0 +1,210 @@
|
||||
/* listsystemsettings.c
|
||||
*
|
||||
* Test the list system settings WEB library.
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_listsystemsettings.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_system_settings *system_settings=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_ListSystemSettings(&system_settings,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Internal Error - Exiting!\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" System Sample Rate : %u\n",system_settings[i].sample_rate);
|
||||
printf(" Allow Duplicate Cart Titles : %d\n",system_settings[i].dup_cart_titles);
|
||||
printf(" ISCI Cross Reference_Path : %s\n",system_settings[i].isci_xreference_path);
|
||||
printf(" Maximum Remote Post Length : %u\n",system_settings[i].max_post_length);
|
||||
printf(" Temporary Cart Group : %s\n",system_settings[i].temp_cart_group);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the system settings list when finished with it
|
||||
//
|
||||
free(system_settings);
|
||||
|
||||
// Add test of create_ticket function - wont be able to add though
|
||||
// because we already added it!
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_ListSystemSettings(&system_settings,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Internal Error - Exiting!\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" System Sample Rate : %u\n",system_settings[i].sample_rate);
|
||||
printf(" Allow Duplicate Cart Titles : %d\n",system_settings[i].dup_cart_titles);
|
||||
printf(" ISCI Cross Reference_Path : %s\n",system_settings[i].isci_xreference_path);
|
||||
printf(" Maximum Remote Post Length : %u\n",system_settings[i].max_post_length);
|
||||
printf(" Temporary Cart Group : %s\n",system_settings[i].temp_cart_group);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the System Settings list when finished with it
|
||||
//
|
||||
free(system_settings);
|
||||
exit(0);
|
||||
}
|
207
apis/rivwebcapi/tests/removecart_test.c
Normal file
207
apis/rivwebcapi/tests/removecart_test.c
Normal file
@@ -0,0 +1,207 @@
|
||||
/* removecart_test.c
|
||||
*
|
||||
* Test the removecart library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_removecart.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Remove ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_RemoveCart( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart %ld was successfully deleted!\n",cartnum);
|
||||
printf("\n");
|
||||
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_RemoveCart( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart %ld was successfully deleted!\n",cartnum);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
220
apis/rivwebcapi/tests/removecut_test.c
Normal file
220
apis/rivwebcapi/tests/removecut_test.c
Normal file
@@ -0,0 +1,220 @@
|
||||
/* removecut_test.c
|
||||
*
|
||||
* Test the remove Cut library.
|
||||
*
|
||||
* (C) Copyright 2015 Fred Gleason <fredg@paravelsystems.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_removecut.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cartnum=0;
|
||||
long int cutnum=0;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number that you want to Remove ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cartnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
printf("Please enter the Cut Number that you want to Remove ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cutnum = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_RemoveCut( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cart: %ld was successfully deleted!\n",cartnum,cutnum);
|
||||
printf("\n");
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_RemoveCut( host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cartnum,
|
||||
(unsigned)cutnum,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Cut Exists! \n");
|
||||
break;
|
||||
case 401:
|
||||
fprintf(stderr, "ERROR: Unauthorized Or Cart out of Range! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Cart: %ld - Cart: %ld was successfully deleted!\n",cartnum,cutnum);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
201
apis/rivwebcapi/tests/savelog_test.c
Normal file
201
apis/rivwebcapi/tests/savelog_test.c
Normal file
@@ -0,0 +1,201 @@
|
||||
/* savelog_test.c
|
||||
*
|
||||
* Test the savelog library.
|
||||
*
|
||||
* (C) Copyright 2017 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_savelog.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
char logname[BUFSIZ]={0};
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
struct save_loghdr_values hdr_values;
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
PromptForString("Please enter the Name of the Log that you want to Save ==> ",
|
||||
logname,BUFSIZ);
|
||||
|
||||
memset(&hdr_values,0,sizeof(hdr_values));
|
||||
strcpy(hdr_values.loghdr_service,"Fred");
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
int result=RD_SaveLog(&hdr_values,
|
||||
NULL,0,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Save Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Success\n");
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
int i;
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
result=RD_SaveLog(&hdr_values,
|
||||
NULL,0,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
logname,
|
||||
user_agent);
|
||||
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Something went wrong!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Invalid Parameter for LOG_NAME! \n");
|
||||
break;
|
||||
case 500:
|
||||
fprintf(stderr, "ERROR: Unable to Save Log! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
printf(" Success\n");
|
||||
|
||||
exit(0);
|
||||
}
|
269
apis/rivwebcapi/tests/trimaudio_test.c
Normal file
269
apis/rivwebcapi/tests/trimaudio_test.c
Normal file
@@ -0,0 +1,269 @@
|
||||
/*audioinfo_test.c
|
||||
*
|
||||
* Test the audioinfo WEB library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_trimaudio.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
struct rd_trimaudio *trimaudio=0;
|
||||
|
||||
char buf[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
long int cut=0;
|
||||
long int trimlevel=0;
|
||||
unsigned numrecs;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please enter the Cut Number for the Cart used above ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cut = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
printf("Please enter the Trim Level: ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
trimlevel = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
//
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
int result=RD_TrimAudio(&trimaudio,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
(int)trimlevel,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart/Cut Number or \n Unknown Trim Level or \n No Peak Data Available\n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Audio Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %u\n",trimaudio[i].cart_number);
|
||||
printf(" Cut Number: %d\n",trimaudio[i].cut_number);
|
||||
printf(" Trim Level: %d\n",trimaudio[i].trimlevel);
|
||||
printf(" Start Trim Point: %d\n",trimaudio[i].starttrimpoint);
|
||||
printf(" End Trim Point: %d\n",trimaudio[i].endtrimpoint);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the trimaudio list when finished with it
|
||||
//
|
||||
free(trimaudio);
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
//
|
||||
//
|
||||
// Call the function
|
||||
//
|
||||
|
||||
result=RD_TrimAudio(&trimaudio,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
(unsigned)cut,
|
||||
(int)trimlevel,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if (result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr," ERROR: Missing Cart/Cut Number or \n Unknown Trim Level or \n No Peak Data Available\n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Audio Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Cart Number: %u\n",trimaudio[i].cart_number);
|
||||
printf(" Cut Number: %d\n",trimaudio[i].cut_number);
|
||||
printf(" Trim Level: %d\n",trimaudio[i].trimlevel);
|
||||
printf(" Start Trim Point: %d\n",trimaudio[i].starttrimpoint);
|
||||
printf(" End Trim Point: %d\n",trimaudio[i].endtrimpoint);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// Free the trimaudio list when finished with it
|
||||
//
|
||||
free(trimaudio);
|
||||
exit(0);
|
||||
}
|
219
apis/rivwebcapi/tests/unassignschedcode_test.c
Normal file
219
apis/rivwebcapi/tests/unassignschedcode_test.c
Normal file
@@ -0,0 +1,219 @@
|
||||
/* unassignschedcodes.c
|
||||
*
|
||||
* Test the unassignschedcode library.
|
||||
*
|
||||
* (C) Copyright 2015 Todd Baker <bakert@rfa.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rivwebcapi/rd_unassignschedcode.h>
|
||||
#include <rivwebcapi/rd_createticket.h>
|
||||
#include <rivwebcapi/rd_getuseragent.h>
|
||||
#include <rivwebcapi/rd_getversion.h>
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
int i;
|
||||
char buf[BUFSIZ];
|
||||
char code[BUFSIZ];
|
||||
char *p;
|
||||
long int cart=0;
|
||||
char *codeptr;
|
||||
char *host;
|
||||
char *user;
|
||||
char *passwd;
|
||||
char ticket[41]="";
|
||||
char user_agent[255];
|
||||
|
||||
/* Get the Rivendell Host, User and Password if set in env */
|
||||
if (getenv("RIVHOST")!=NULL) {
|
||||
host = getenv("RIVHOST");
|
||||
}
|
||||
else {
|
||||
host="localhost";
|
||||
}
|
||||
|
||||
if (getenv("RIVUSER")!=NULL) {
|
||||
user = getenv("RIVUSER");
|
||||
}
|
||||
else {
|
||||
user="USER";
|
||||
}
|
||||
|
||||
if (getenv("RIVPASS")!=NULL) {
|
||||
passwd = getenv("RIVPASS");
|
||||
}
|
||||
else {
|
||||
passwd = "";
|
||||
}
|
||||
|
||||
|
||||
printf("Please enter the Cart Number ==> ");
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
cart = strtol(buf, &p,10);
|
||||
|
||||
if ( (buf[0] != '\n') &&
|
||||
((*p != '\n') && (*p != '\0')))
|
||||
{
|
||||
fprintf(stderr," Illegal Characters detected! Exiting.\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
codeptr = &code[0];
|
||||
printf("Please enter the Scheduler Code Unassign to cart# %ld ==>",cart);
|
||||
if (fgets(buf,sizeof(buf),stdin) != NULL)
|
||||
{
|
||||
for (i = 0; i < strlen(buf) ; i++) {
|
||||
if (buf[i]>32) {
|
||||
strncpy(codeptr,&buf[i],1);
|
||||
codeptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
strcat(code,"\0");
|
||||
|
||||
// Add the User Agent and Version
|
||||
strcat(user_agent,RD_GetUserAgent());
|
||||
strcat(user_agent,RD_GetVersion());
|
||||
strcat(user_agent," (Test Suite)");
|
||||
|
||||
// Call the function
|
||||
//
|
||||
int result= RD_UnassignSchedCode(
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
code,
|
||||
user_agent);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart/Code Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Code Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Scheduler Code %s was successfully unassigned from Cart %ld !\n",code,cart);
|
||||
printf("\n");
|
||||
|
||||
|
||||
// Add test of create_ticket function
|
||||
|
||||
struct rd_ticketinfo *myticket=0;
|
||||
unsigned numrecs=0;
|
||||
|
||||
result = RD_CreateTicket( &myticket,
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
user_agent,
|
||||
&numrecs);
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 403:
|
||||
fprintf(stderr," ERROR: Invalid User Information During Create Ticket\n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d\n",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
|
||||
// We got a ticket created - use it and do the call again
|
||||
//
|
||||
// List the Results
|
||||
//
|
||||
for(i=0;i<numrecs;i++) {
|
||||
printf(" Ticket: %s\n",myticket[i].ticket);
|
||||
printf("Ticket Expire year value = %d\n",myticket->tkt_expiration_datetime.tm_year);
|
||||
printf("Ticket Expire month value = %d\n",myticket->tkt_expiration_datetime.tm_mon);
|
||||
printf("Ticket Expire day value = %d\n",myticket->tkt_expiration_datetime.tm_mday);
|
||||
printf("Ticket Expire wday value = %d\n",myticket->tkt_expiration_datetime.tm_wday);
|
||||
printf("Ticket Expire hour value = %d\n",myticket->tkt_expiration_datetime.tm_hour);
|
||||
printf("Ticket Expire min value = %d\n",myticket->tkt_expiration_datetime.tm_min);
|
||||
printf("Ticket Expire sec value = %d\n",myticket->tkt_expiration_datetime.tm_sec);
|
||||
printf("Ticket Expire isdst value = %d\n",myticket->tkt_expiration_datetime.tm_isdst);
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
|
||||
user="";
|
||||
passwd="";
|
||||
strcpy( ticket,myticket->ticket);
|
||||
fprintf(stderr, "Ticket was copied - = %s\n",ticket);
|
||||
// Call the function
|
||||
//
|
||||
result= RD_UnassignSchedCode(
|
||||
host,
|
||||
user,
|
||||
passwd,
|
||||
ticket,
|
||||
(unsigned)cart,
|
||||
code,
|
||||
user_agent);
|
||||
if(result<0) {
|
||||
fprintf(stderr,"Error: Web function Failure!\n");
|
||||
exit(256);
|
||||
}
|
||||
|
||||
if ((result< 200 || result > 299) &&
|
||||
(result != 0))
|
||||
{
|
||||
switch(result) {
|
||||
case 400:
|
||||
fprintf(stderr,"ERROR: Missing Cart/Code Number! \n");
|
||||
break;
|
||||
case 404:
|
||||
fprintf(stderr,"ERROR: No Such Cart/Code Exists! \n");
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Unknown Error occurred ==> %d",result);
|
||||
}
|
||||
exit(256);
|
||||
}
|
||||
//
|
||||
// List the results
|
||||
//
|
||||
printf(" Scheduler Code %s was successfully unassigned from Cart %ld !\n",code,cart);
|
||||
printf("\n");
|
||||
|
||||
exit(0);
|
||||
}
|
Reference in New Issue
Block a user