Commit Graph

92 Commits

Author SHA1 Message Date
Carl Fürstenberg 5383c4c0ff Follow mysql recommendations for handling booleans
Per http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html
`BOOL` and `BOOLEAN` is alias for `TINYINT(1)` thus we should make
sure discover can handle as such.

Introducing three flags:

* treatCHAR1AsString
  default false - treats CHAR(1) as a String instead of a Boolean
* treatBIT1AsBit
  default true - treats BIT(1) as a Boolean instead of a Binary
* treatTINYINT1AsTinyInt
  default true - treats TINYINT(1) as a Boolean instead of a Number

The default handling for CHAR(1) is legacy backward compability due to
custom to use a CHAR(1) to store 'Y', 'N', '0', '1', etc...
2017-01-11 19:44:50 -08:00
muhammad hasan 0f1b14b158 Fix expected column name when autoupdate
Fix mysql column name being ignored on dataType change or new column
being added
Fix mysql column name ignored if index changed

Add column name case on autoupdate test

Fix test case scheme error

Fix describe test
2016-12-12 10:06:18 -05:00
Loay Gewily fce2207da3 Fix CI Failures 2016-12-07 23:53:46 -05:00
Nicholas Duffy 18cffb98ab Add connectorCapabilities global object (#201) 2016-10-11 23:13:20 -07:00
Simon Ho 8ed53f6cfa Remove unused prefix for test env vars (#203)
* TEST_ prefix is not used by CI anymore and there for serve no purpose

* Part of overall goal to standardize env var injection to
  MODULE_VARNAME (ie. MYSQL_HOST for example) convention
2016-10-07 17:36:43 -07:00
Loay 6100a62461 Add CI fixes (#197) 2016-09-28 13:32:38 -07:00
Ron Lloyd 980151d0a8 Fixing lint errors 2016-09-13 22:21:11 -06:00
Ron Lloyd 0de8dc7c97 Tests for autoupdate mysql.columnName bug fix 2016-09-13 22:21:11 -06:00
Miroslav Bajtoš a9dc15c180 Explictly set forceId:false in test model 2016-09-05 16:01:31 +02:00
Simon Ho a004b03d0f Fix pretest and init test configs
Environment variables set in pretest.js and test/init.js were silently
being converted to Strings. For example, when TEST_MYSQL_USER is
undefined, it's value was automatically converted to the String
'undefined'. This is documented a side effect of assigning values to
process.env. See https://nodejs.org/api/process.html#process_process_env
for more details
2016-08-19 10:56:19 -07:00
deepakrkris 22c1700af8 Fix to configure model index in keys field
This is a fix for issue 109,for model indexes not configured
per strongloop documentation
2016-08-15 12:51:56 -04:00
Raymond Feng 5fec12a00c Merge pull request #179 from azatoth/zero_datetime
Add special handling of zero date/time entries
2016-08-11 09:03:14 -07:00
Loay 9c9b61e7dc Update eslint infrastructure 2016-08-10 20:04:26 -04:00
Ryan Graham 2533fe8404
test: use dump of original test DB as seed 2016-08-09 19:14:51 -07:00
Ryan Graham a798377f98
test: skip cardinality, update sub_part
Index cardinality is actually a metric that is based on MySQL analyzing
the table contents, so its value here has more to do with whether the
tests are running against a new table, an old table, or whether it has
any data in it.

The Sub_part field is similarly unimportant for the purposes of these
tests since it refers to indexing internals based on data type and
partial indexing.

See: https://dev.mysql.com/doc/refman/5.5/en/show-index.html
2016-08-09 19:14:51 -07:00
Ryan Graham 3954709bbc
test: accept alternate test db credentials
Allow the tests to run on ci.strongloop.com using the credentials that
are given there, but translate them to the form that is used on
cis-jenkins, which is actually the correct format.
2016-08-09 19:00:07 -07:00
Ryan Graham cb118de2cd
test: use should for easier debugging 2016-08-09 11:25:39 -07:00
Ryan Graham b965a31f77
test: account for mysql version differences
Some of the tests are based on default behaviour of MySQL 5.5 or older
which is not the same as 5.7 out of the box.
2016-08-09 11:25:38 -07:00
Ryan Graham 45491d1d90
test: match case with example/table.sql 2016-08-09 11:25:38 -07:00
Ryan Graham 5a7cac6852
test: separate assertions from test flow control 2016-08-09 11:25:38 -07:00
Ryan Graham 9ad29ddbaa
test: update tests to use example DB
Use should.match() so we can use case-insensitve regexp for properties
that change case depending on the server being tested against.
2016-08-09 11:25:38 -07:00
Ryan Graham ebb6e68f0e
test: fix undefined password
If no password is given, '+ password' stringifies to 'undefined', which
generates a URL that has 'undefined' as the password instead of leaving
out the password.
2016-08-05 10:54:21 -07:00
Carl Fürstenberg 1ee79768f2 Add special handling of zero date/time entries
Per MySQL docs
(http://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html):

  "MySQL permits you to store a “zero” value of '0000-00-00' as a
  “dummy date.” This is in some cases more convenient than using NULL
  values, and uses less data and index space. To disallow '0000-00-00',
  enable the NO_ZERO_DATE mode.

  “Zero” date or time values used through Connector/ODBC are converted
  automatically to NULL because ODBC cannot handle such values."

As we are not using Connector/ODBC we need to handle this ourself.
2016-07-29 14:59:24 +02:00
juehou 658635e72c Add function connect 2016-05-12 15:56:48 -04:00
Ryan Graham 340a4eb0f6
insert/update copyright notices 2016-05-03 16:52:03 -07:00
juehou 12cf967b7b Override other settings if url provided
Handle url in config
Override other settings if url provided
2016-04-06 23:31:23 -04:00
Amir Jafarian 02e7c57ecd Add `connectorCapabilities ` 2016-03-30 11:53:03 -04:00
Amir Jafarian f572f920a4 Implement ReplaceOrCreate 2016-01-15 19:12:38 -05:00
cgole 58850ec24c removed console.log 2015-11-19 14:57:10 -08:00
cgole 6c3e58f932 seperate env variable for test db 2015-11-18 17:13:06 -08:00
cgole 5d95e03d3f Changed username to user 2015-11-18 15:07:03 -08:00
cgole da879ea47f Added db username password 2015-11-18 14:37:46 -08:00
cgole f255850382 Add mysql CI host 2015-11-17 13:23:52 -08:00
Simon Ho a1d78229f5 Clean up regexop tests 2015-07-29 09:46:51 -07:00
Simon Ho 1a8fb3b9fe Add regexp operator tests 2015-07-29 09:31:24 -07:00
Simon Ho 31671b5c25 Fix RegExp unit test setup/teardown 2015-07-28 17:55:27 -07:00
Simon Ho 22bebe3c4a Add support for RegExp operator 2015-07-28 17:24:31 -07:00
Raymond Feng f05aa7cfa8 Fix the failing tests 2015-05-29 08:43:26 -07:00
Raymond Feng 1bfaf1a783 Start to add transaction support 2015-05-18 12:02:25 -07:00
Raymond Feng be54c1a407 Refactor the code to use base SqlConnector 2015-05-13 10:17:15 -07:00
Raymond Feng 634a0a94bc Allow models backed by MySQL to reference mongodb ObjectID 2015-03-04 22:55:33 -08:00
Raymond Feng 2422c4c6f0 Update deps 2015-02-20 16:15:15 -08:00
Miroslav Bajtoš 0e9740fc33 Include tests of persistence hooks from juggler. 2015-02-02 19:30:33 +01:00
Raymond Feng 5b6bc9cf83 Merge pull request #54 from saggiyogesh/master
Fix for unique index when declared in fields config
2015-01-06 10:17:38 -08:00
Raymond Feng f16a8fbafd Add a test case for autoupdate 2014-12-05 11:48:34 -08:00
Raymond Feng a82fc3f9d2 Create 'NOT NULL' constraint for required or id properties 2014-12-03 14:10:21 -08:00
Raymond Feng f9caaafe37 Better handle discovery of nullable columns 2014-12-03 14:09:52 -08:00
yogesh 6d5ad5e470 (cherry picked from commit a6d31e8) 2014-10-21 11:51:45 +05:30
Raymond Feng 04c10fdf03 Enhance error reporting for automigrate/autoupdate 2014-09-11 12:23:32 -07:00
Raymond Feng abaabff01a Fix the default length for strings to avoid row size overflow 2014-07-08 11:23:45 -07:00