Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Initial commit
  • Loading branch information
elpete committed Sep 24, 2019
0 parents commit 363420b
Show file tree
Hide file tree
Showing 57 changed files with 1,960 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
@@ -0,0 +1,5 @@
/testbox
/tests/results
/tests/resources/app/coldbox
/node_modules
/modules
25 changes: 25 additions & 0 deletions .travis.yml
@@ -0,0 +1,25 @@
language: java
sudo: required
jdk:
- oraclejdk8
cache:
directories:
- $HOME/.CommandBox
env:
matrix:
- ENGINE=lucee@4.5
- ENGINE=lucee@5
- ENGINE=adobe@2016
- ENGINE=adobe@11
before_install:
- sudo apt-key adv --keyserver keys.gnupg.net --recv 6DA70622
- sudo echo "deb http://downloads.ortussolutions.com/debs/noarch /" | sudo tee -a /etc/apt/sources.list.d/commandbox.list
install:
- sudo apt-get update && sudo apt-get --assume-yes install commandbox
- box install
before_script:
- box server start cfengine=$ENGINE port=8500
script:
- box testbox run runner='http://127.0.0.1:8500/tests/runner.cfm'
notifications:
email: false
10 changes: 10 additions & 0 deletions ModuleConfig.cfc
@@ -0,0 +1,10 @@
component {

this.name = "cbyaml";
this.author = "Eric Peterson";
this.webUrl = "https://github.com/elpete/cbyaml";

function configure() {
//
}
}
5 changes: 5 additions & 0 deletions README.md
@@ -0,0 +1,5 @@
# cbyaml

[![Master Branch Build Status](https://img.shields.io/travis/elpete/cbyaml/master.svg?style=flat-square&label=master)](https://travis-ci.org/elpete/cbyaml)

## Provides easy serialization and deserialization of yaml files
36 changes: 36 additions & 0 deletions box.json
@@ -0,0 +1,36 @@
{
"name":"cbyaml",
"version":"0.0.0",
"author":"Eric Peterson",
"location":"elpete/cbyaml#v0.0.0",
"homepage":"https://github.com/elpete/cbyaml",
"documentation":"https://github.com/elpete/cbyaml",
"repository":{
"type":"git",
"URL":"https://github.com/elpete/cbyaml"
},
"bugs":"https://github.com/elpete/cbyaml/issues",
"slug":"cbyaml",
"shortDescription":"Provides easy serialization and deserialization of yaml files",
"description":"Provides easy serialization and deserialization of yaml files",
"type":"modules",
"dependencies":{},
"devDependencies":{
"coldbox":"^4.3.0+188",
"testbox":"^2.4.0+80"
},
"installPaths":{
"testbox":"testbox/",
"coldbox":"tests/resources/app/coldbox/"
},
"scripts":{
"postVersion":"package set location='elpete/cbyaml#v`package version`'",
"onRelease":"publish",
"postPublish":"!git push && !git push --tags"
},
"ignore":[
"**/.*",
"test",
"tests"
]
}
17 changes: 17 additions & 0 deletions tests/Application.cfc
@@ -0,0 +1,17 @@
component {

this.name = "ColdBoxTestingSuite" & hash(getCurrentTemplatePath());
this.sessionManagement = true;
this.setClientCookies = true;
this.sessionTimeout = createTimeSpan( 0, 0, 15, 0 );
this.applicationTimeout = createTimeSpan( 0, 0, 15, 0 );

testsPath = getDirectoryFromPath( getCurrentTemplatePath() );
this.mappings[ "/tests" ] = testsPath;
rootPath = REReplaceNoCase( this.mappings[ "/tests" ], "tests(\\|/)", "" );
this.mappings[ "/root" ] = rootPath;
this.mappings[ "/testingModuleRoot" ] = listDeleteAt( rootPath, listLen( rootPath, '\/' ), "\/" );
this.mappings[ "/app" ] = testsPath & "resources/app";
this.mappings[ "/coldbox" ] = testsPath & "resources/app/coldbox";
this.mappings[ "/testbox" ] = rootPath & "/testbox";
}
17 changes: 17 additions & 0 deletions tests/resources/ModuleIntegrationSpec.cfc
@@ -0,0 +1,17 @@
component extends="coldbox.system.testing.BaseTestCase" {

function beforeAll() {
super.beforeAll();

getController().getModuleService()
.registerAndActivateModule( "cbyaml", "testingModuleRoot" );
}

/**
* @beforeEach
*/
function setupIntegrationTest() {
setup();
}

}
22 changes: 22 additions & 0 deletions tests/resources/app/.gitattributes
@@ -0,0 +1,22 @@
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
61 changes: 61 additions & 0 deletions tests/resources/app/Application.cfc
@@ -0,0 +1,61 @@
/**
* Copyright 2005-2007 ColdBox Framework by Luis Majano and Ortus Solutions, Corp
* www.ortussolutions.com
* ---
*/
component{
// Application properties
this.name = hash( getCurrentTemplatePath() );
this.sessionManagement = true;
this.sessionTimeout = createTimeSpan(0,0,30,0);
this.setClientCookies = true;

appPath = getDirectoryFromPath( getCurrentTemplatePath() );
this.mappings[ "/app" ] = appPath;
rootPath = replaceNoCase( this.mappings[ "/app" ], "/tests/resources/app", "" );
this.mappings[ "/root" ] = rootPath;
this.mappings[ "/testingModuleRoot" ] = listDeleteAt( rootPath, listLen( rootPath, '\/' ), "\/" );
this.mappings[ "/coldbox" ] = appPath & "coldbox";

// COLDBOX STATIC PROPERTY, DO NOT CHANGE UNLESS THIS IS NOT THE ROOT OF YOUR COLDBOX APP
COLDBOX_APP_ROOT_PATH = appPath;
// The web server mapping to this application. Used for remote purposes or static purposes
COLDBOX_APP_MAPPING = "";
// COLDBOX PROPERTIES
COLDBOX_CONFIG_FILE = "";
// COLDBOX APPLICATION KEY OVERRIDE
COLDBOX_APP_KEY = "";

// application start
public boolean function onApplicationStart(){
application.cbBootstrap = new coldbox.system.Bootstrap( COLDBOX_CONFIG_FILE, COLDBOX_APP_ROOT_PATH, COLDBOX_APP_KEY, COLDBOX_APP_MAPPING );
application.cbBootstrap.loadColdbox();
return true;
}

// application end
public void function onApplicationEnd( struct appScope ){
arguments.appScope.cbBootstrap.onApplicationEnd( arguments.appScope );
}

// request start
public boolean function onRequestStart( string targetPage ){
// Process ColdBox Request
application.cbBootstrap.onRequestStart( arguments.targetPage );

return true;
}

public void function onSessionStart(){
application.cbBootStrap.onSessionStart();
}

public void function onSessionEnd( struct sessionScope, struct appScope ){
arguments.appScope.cbBootStrap.onSessionEnd( argumentCollection=arguments );
}

public boolean function onMissingTemplate( template ){
return application.cbBootstrap.onMissingTemplate( argumentCollection=arguments );
}

}
4 changes: 4 additions & 0 deletions tests/resources/app/config/.htaccess
@@ -0,0 +1,4 @@
#apache access file to protect the config.xml.cfm file. Delete this if you do not use apache.
authtype Basic
deny from all
Options -Indexes
7 changes: 7 additions & 0 deletions tests/resources/app/config/Application.cfc
@@ -0,0 +1,7 @@
/**
* This is a protection Application cfm for the config file. You do not
* need to modify this file
*/
component{
abort;
}
50 changes: 50 additions & 0 deletions tests/resources/app/config/CacheBox.cfc
@@ -0,0 +1,50 @@
component{

/**
* Configure CacheBox for ColdBox Application Operation
*/
function configure(){

// The CacheBox configuration structure DSL
cacheBox = {
// LogBox config already in coldbox app, not needed
// logBoxConfig = "coldbox.system.web.config.LogBox",

// The defaultCache has an implicit name "default" which is a reserved cache name
// It also has a default provider of cachebox which cannot be changed.
// All timeouts are in minutes
defaultCache = {
objectDefaultTimeout = 120, //two hours default
objectDefaultLastAccessTimeout = 30, //30 minutes idle time
useLastAccessTimeouts = true,
reapFrequency = 5,
freeMemoryPercentageThreshold = 0,
evictionPolicy = "LRU",
evictCount = 1,
maxObjects = 300,
objectStore = "ConcurrentStore", //guaranteed objects
coldboxEnabled = true
},

// Register all the custom named caches you like here
caches = {
// Named cache for all coldbox event and view template caching
template = {
provider = "coldbox.system.cache.providers.CacheBoxColdBoxProvider",
properties = {
objectDefaultTimeout = 120,
objectDefaultLastAccessTimeout = 30,
useLastAccessTimeouts = true,
freeMemoryPercentageThreshold = 0,
reapFrequency = 5,
evictionPolicy = "LRU",
evictCount = 2,
maxObjects = 300,
objectStore = "ConcurrentSoftReferenceStore" //memory sensitive
}
}
}
};
}

}

0 comments on commit 363420b

Please sign in to comment.