[interchange] Full catalog installation test for Travis CI
Josh Lavin
interchange-cvs at icdevgroup.org
Tue Jul 5 21:58:39 UTC 2016
commit 3171509137ff7b40323bcf6e0e666e4e71dc440a
Author: Josh Lavin <jlavin at endpoint.com>
Date: Tue Jul 5 14:57:56 2016 -0700
Full catalog installation test for Travis CI
.travis.yml | 14 ++++
MANIFEST.SKIP | 1 +
t/interchange-test/interchange.cfg | 124 ++++++++++++++++++++++++++++++++++++
t/interchange-test/variable.txt | 108 +++++++++++++++++++++++++++++++
4 files changed, 247 insertions(+), 0 deletions(-)
---
diff --git a/.travis.yml b/.travis.yml
index 6ce4aff..11b15b9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,8 @@ perl:
- "5.20"
- "5.22"
sudo: false
+services:
+ - mysql
before_install:
- git clone git://github.com/travis-perl/helpers ~/travis-perl-helpers
- source ~/travis-perl-helpers/init
@@ -18,7 +20,19 @@ before_install:
- cd $BUILD_DIR
install:
- cpan-install --deps
+ - cpanm --notest --installdeps .
+ - cpanm --notest DBD::Pg DBD::mysql
+before_script:
+ - mysql -e 'create database interchange_test;'
script:
- perl Makefile.PL force=1 PREFIX=/home/travis/interchange
- make
- perl test.pl
+ - make install
+ - mkdir /home/travis/catalogs
+ - cp -r /home/travis/interchange/strap /home/travis/catalogs/
+ - mkdir /home/travis/catalogs/strap/logs
+ - cp -fv t/interchange-test/variable.txt /home/travis/catalogs/strap/products/
+ - cp -fv t/interchange-test/interchange.cfg /home/travis/interchange/
+ - cd /home/travis/interchange
+ - ./bin/restart
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
index fce18b5..aa0ef74 100644
--- a/MANIFEST.SKIP
+++ b/MANIFEST.SKIP
@@ -68,6 +68,7 @@ _$
^scripts/.*[a-z]$
^scripts/initp.PL$
^\.travis.yml$
+^t(/|$)
^win(/|$)
^windows(/|$)
^work(/|$)
diff --git a/t/interchange-test/interchange.cfg b/t/interchange-test/interchange.cfg
new file mode 100644
index 0000000..a6778c3
--- /dev/null
+++ b/t/interchange-test/interchange.cfg
@@ -0,0 +1,124 @@
+#========================================================================#
+
+# interchange.cfg
+
+#========================================================================#
+#
+
+# Allows use of "ifdef @INDEV" below. Will set INDEV to 1 if file
+# _indev is present.
+Require module Vend::InDev
+
+# These settings all affect other configuration directives below.
+
+AutoVariable Windows LockType
+
+# Set to 1 to include back-end administration interface.
+Variable UI 1
+
+# Set to "low", "high", or "rpc" to get different server parameters.
+Variable TRAFFIC low
+
+# Set to 1 to log extra debugging info and get a dump of global and
+# catalog data structures.
+#Variable DEBUG 1
+
+#========================================================================#
+
+# Set up individual catalogs here.
+
+Catalog strap /home/travis/catalogs/strap /cgi-bin/strap
+
+#========================================================================#
+
+# Require an external module
+
+# This one tests the realtime payment gateway code, set INDEV variable to test.
+#
+ifdef @INDEV
+Require module Vend::Payment::TestPayment
+endif
+
+#========================================================================#
+
+Environment MOD_PERL
+
+# Prevent arbitrary [file ...] and [include ...] among other things.
+NoAbsolute Yes
+
+#========================================================================#
+
+ifdef @DEBUG
+
+Message Sending debug messages to debug.log.
+DebugFile debug.log
+
+# A few simple tests ...
+GlobalSub sub test_global_sub { return 'Test of global subroutine OK.' }
+Variable TEST_VARIABLE Test of global variable OK.
+
+# Dump global and catalog data structures to a text file at startup time.
+# See {ConfDir}/interchange.structure and {CatRoot}/{CatName}.structure.
+DumpStructure Yes
+
+# This logs DBI calls to your DebugFile.
+# It's commented out by default because it generates a lot of messages.
+#DataTrace 1
+
+endif
+
+#========================================================================#
+
+ifdef TRAFFIC =~ /low/i
+Message Low traffic settings.
+HouseKeeping 3
+MaxServers 0
+PIDcheck 300
+endif
+
+ifdef TRAFFIC =~ /high/i
+Message High traffic settings.
+HouseKeeping 2
+MaxServers 0
+PIDcheck 120
+endif
+
+ifdef TRAFFIC =~ /rpc/i
+Message RPC traffic settings.
+PreFork Yes
+StartServers 5
+MaxServers 0
+MaxRequestsPerChild 100
+HouseKeeping 2
+PIDcheck 120
+endif
+
+#========================================================================#
+
+# Set this so cookies are issued only for the current catalog, not for
+# the whole base domain.
+Mall Yes
+
+# Additional Safe operations to untrap beyond the standard "ftfile sort".
+SafeUntrap rand
+
+TcpMap 7786 -
+
+# Include back office administration UI if variable set above.
+ifdef UI
+Message -i -n Calling UI...
+include lib/UI/ui.cfg
+endif
+
+## This is only needed if you use Net::SMTP instead of
+## sendmail or clones
+#Variable MV_SMTPHOST smtp
+
+# Include individual usertags.
+include usertag/*.tag
+
+# Include the robot recognition lists
+include robots.cfg
+
+# Include the list of country-specific standardised subdomains
+include subdomains.cfg
diff --git a/t/interchange-test/variable.txt b/t/interchange-test/variable.txt
new file mode 100644
index 0000000..baf3867
--- /dev/null
+++ b/t/interchange-test/variable.txt
@@ -0,0 +1,108 @@
+code Variable pref_group
+ADDRESS 123 Main St. Company
+CART_UPSELL 0 Cart/Checkout
+CGIWRAP __MVC_CGIWRAP__ Admin Control
+CGI_DIR __MVC_CGIDIR__ Admin Control
+CGI_URL __MVC_CGIURL__ Directories and Paths
+CHECKOUT_MAIL 1 Cart/Checkout
+CHECKOUT_MAIL_LIST 1 Cart/Checkout
+CHECKOUT_PAGE ord/country Cart/Checkout
+CHECK_ACCEPTED 1 Payment
+CITY Anywhere, OH 45056 Company
+COD_ACCEPTED 0 Payment
+COMPANY __MVC_COMPANY__ Company
+CREDIT_CARDS_ACCEPTED visa mc amex discover Payment
+DECREMENT_INVENTORY 0 Order
+DEFAULT_COUNTRY US Shipping
+DEFAULT_LOCALE en_US Internationalization
+DEFAULT_PAYMENT_MODE credit_card Payment
+DOCROOT __MVC_DOCUMENTROOT__ Directories and Paths
+EMAIL_INFO __MVC_MAILORDERTO__ Company
+EMAIL_SERVICE __MVC_MAILORDERTO__ Company
+ENCRYPTOR Encryption
+ENTRY_CHECK_ACCEPTED 1 Payment
+ENTRY_COD_ACCEPTED 0 Payment
+ENTRY_CREDIT_CARDS_ACCEPTED visa mc amex discover Payment
+ENTRY_POSTAL_ACCEPTED 0 Payment
+ENTRY_PO_ACCEPTED 1 Payment
+FAX (765) 555-9999 Company
+GIFT_CERT_PERIOD 1 year Payment
+GOOGLE_ANL_ID Google
+IC_DIR __MVC_VENDROOT__ Admin Control
+IMAGE_DIR __MVC_IMAGEURL__ Directories and Paths
+LINKHOST Admin Control
+LINKMODE Admin Control
+LINKPORT Admin Control
+LOCALES Internationalization
+LOGDIR logs Admin Control
+LOGO logo.png Template
+MAILING_FROM __MVC_COMPANY__ <__MVC_MAILORDERTO__> Mailings
+MAILING_MAX_DIRECT 50 Mailings
+MAILING_TO {FNAME} {LNAME} <{EMAIL}> Mailings
+MV_DEFAULT_SEARCH_DB 1 Database
+MV_DEMO_MODE 1 General
+MV_PAYMENT_HOST Payment
+MV_PAYMENT_ID a_fake_id Payment
+MV_PAYMENT_MODE testpayment Payment
+MV_PAYMENT_PARTNER Payment
+MV_PAYMENT_REFERER Payment
+MV_PAYMENT_SECRET Payment
+MV_PAYMENT_VENDOR Payment
+MYSQL 1 Database
+ORDERS_TO __MVC_MAILORDERTO__ Order
+ORDER_ROUTES log main copy_user Order
+PASSWORD_RESET_CHECK_KEY ChAnGeMe General
+PGP_KEY Encryption
+PGSQL Database
+PHONE (765) 555-1212 Company
+POSTAL_ACCEPTED 0 Payment
+PO_ACCEPTED 1 Payment
+PUBLISH_DO_RCS 0 Admin Control
+PUBLISH_NO_PAGE_ROOT 0 Admin Control
+PUBLISH_PUT_IMAGES images Admin Control
+PUBLISH_PUT_PAGES pages Admin Control
+PUBLISH_QUIT_ON_RCS_ERROR 0 Admin Control
+RUNDIR run Admin Control
+SAMPLEHTML __MVC_SAMPLEHTML__ Directories and Paths
+SAMPLEURL __MVC_SAMPLEURL__ Directories and Paths
+SECURE_ENABLE 0 General
+SECURE_SERVER http://__MVC_SERVERNAME__ Directories and Paths
+SERVER_NAME __MVC_SERVERNAME__ Directories and Paths
+SETTLE_TRANSACTION Payment
+SHIP_DEFAULT_COUNTRY US Shipping
+SHIP_DEFAULT_MODE free_or_upsg Shipping
+SHIP_FLAT_DOM_RATE 5 Shipping
+SHIP_FLAT_INTL_RATE 10 Shipping
+SQLDSN dbi:mysql:interchange_test Database
+SQLITE Database
+SQLPASS Database
+SQLUSER travis Database
+TAXAREA IN Tax
+TAXFIELD state Tax
+TAXRATE IN=6.0 Tax
+TAXSHIPPING Tax
+TOLLFREE (888) 555-1212 Company
+UI_ABOUT_LOGIN_URL http://www.icdevgroup.org/ Admin Control
+UI_ABOUT_NORMAL_URL http://www.icdevgroup.org/ Admin Control
+UI_ADMIN_TABLES 2ndDayAir 2ndDayAirAM 3DaySelect access Accessorials air_pp Book dict Expedited Express Ground ichelp locale mv_metadata NextDayAir NextDayAirSaver Priority pay_cert_lock pay_cert_redeem surf_pp ups_cache usps variable Xarea Zone Admin Control
+UI_BOTTOMIMG poweredby.gif Admin Control
+UI_CLONE_TABLES products* pricing* inventory merchandising options:sku Item display
+UI_COMPONENT_DIR templates/components Directories and Paths
+UI_HELP_HEIGHT 480 Admin Control
+UI_HELP_WIDTH 650 Admin Control
+UI_IMAGE_DIR __MVC_SHAREURL__/interchange-5/ Admin Control
+UI_IMAGE_DIR_SECURE __MVC_SHAREURL__/interchange-5/ Admin Control
+UI_ITEM_TABLES products pricing inventory merchandising options:sku Item display
+UI_LOCALE en_US Admin Control
+UI_META_LINK 1 Admin Control
+UI_ORDER_VIEWNEXT_MAX_SKIP 20 Admin Control
+UI_PAGE_DIR pages Directories and Paths
+UI_SECURE Admin Control
+UI_TEMPLATE_DIR templates Directories and Paths
+UI_TRAFFIC_STATS Directories and Paths
+UI_USER_MERGE_TABLES Admin Control
+UI_WIDGET_TYPES Admin Control
+UPS_COUNTRY_FIELD country Shipping
+UPS_ORIGIN 45056 Shipping
+UPS_POSTCODE_FIELD zip Shipping
+WWW_DIR /__MVC_CATALOGNAME__ Directories and Paths
More information about the interchange-cvs
mailing list