Commit Graph
18 Commits
Author SHA1 Message Date
Marc Gravell 8152f2c718 WIP: Lib updates and prepare for Microsoft.Data.SqlClient (#1313)
v2 work; primarily prep for split SqlClient
2019-08-28 15:07:32 +01:00
Nick Craver 522d150e25 Faster builds + use MySqlConnector
MySql.Data is a travesty at this point - moving to something more stable. Really we weren't testing Dapper with previous test failures, we were testing what mood MySql.Data and NuGet extraction are in and which phase of the moon is about.

Also speeds up the builds with 1 restore and 1 build. We can simplify here because everything is relevant (no wasted builds).
2018-09-03 21:38:27 -04:00
Jase 07fe543f15 Change to GetAll to allow the usage of a nullable type in T when T is an interface… #933 (#936)
* Change to GetAll to allow the usage of a nullable type in T when T is an interface.

* Change to GetAll to allow the usage of a nullable type in T when T is an interface: further change to check if val == null and if so then don't try to assign it as a property value.

* Change to Get to allow the usage of a nullable type in T when T is an interface. (effectively the same change as the previous change to GetAll.)

* Change to GetAsync and GetAllAsync to allow the usage of a nullable type in T when T is  an interface.

* Added in UserWithNullableDob and IUserWithNullableDob.

Added in tests for GetAndGetAllWithNullableValues and  GetAsyncAndGetAllAsyncWithNullableValues.

* Added in .ConfigureAwait(false) in the GetAsync Test.
Added comment to identify which issue the test relates to.

* Added NullableDates tables to the test databases.
Adjusted variable names in GetAndGetAllWithNullableValues and GetAsyncAndGetAllAsyncWithNullableValues.

* Changed IUserWithNullableDob to INullableDate.
2018-03-09 06:41:01 -08:00
Brian Drupieski d269a5a4b8 when inserting, check if type implements IEnumerable<T> to determine if it's a collection (#880)
* when inserting check if type implements IEnumerable<T> to determine if it's a collection
* when inserting, check if type is a collection by comparing its implemented interfaces to unbound generic type IEnumerable<> instead of the name "IEnumerable`1"
2017-11-25 20:37:19 -05:00
Nick Craver 071a3fd5a0 .editorconfig and formatting 2017-08-21 16:25:48 -04:00
Nick Craver bdebedea41 Tests: xUnit cleanup
This change:
- Removes the Assert shim
- Uses recommended xUnit methods (improving fail errors)
- Cleans up exception tests
- General test formatting fixes
- Removes the netcoerapp1.0 only testing (oops commit)
2017-08-20 23:00:08 -04:00
Nick Craver 7e5bd308f9 netstandard2.0 functionality (w/ runtime breaks)
This adds a netstandard2.0 build to Dapper (and StrongName until v2),
adds a netstandard2.0 test lineup, restores most functionality (except
UDTs for SQL, e.g. .UdtTypeName isn't in netstandard2), and also breaks
things not actually implemented or implemented correctly in
netstandard2.0. Pushing this up so we can work through these with the
.NET teams.

Several things are still broken here (and fail tests):
- Parameter decimal values (not filed yet)
- DataTables as parameters
(https://github.com/dotnet/corefx/issues/19708)
- .GetSchemaTable() (not yet filed, implementation is completely missing
from SqlDataReader in CoreFX)

While the compile is clean, the above are runtime issues.
`SqlParameter.UdtTypeName` is a separate issue, that one just wasn't in
`netstandard2.0` at all...so we can't support UDTs there until it is.
See https://github.com/dotnet/corefx/issues/17126 for details.
2017-05-12 10:03:00 -04:00
Nick Craver ab9807383a Appveyor: SQL 2016 2017-05-06 16:44:28 -04:00
Nick Craver ae7a29a9f1 VS 2017 .csproj Migration
Due to the way VS test works (by injecting an executable entry point), the performance tests needed to be factored out. I also organized all of our existing tests better along the way.
Actual code changes to Dapper itself are very minor, only formatting and documentation fixes (which we need many more of).

The build.ps1 script is upated to work, but note that <frameworkAssemblies> is not working in .nuspec inside the packages in the new .csproj system. I consider this to be a blocker. Issue is here: https://github.com/NuGet/Home/issues/4853
2017-03-25 19:34:10 -04:00
Nick Craver 8e070ddca5 Interfaces are back, simplifying code.
Related issue: #520
2016-05-23 20:43:30 -04:00
Marc Gravell 92eca47299 Unify test credentials for MySQL; add passing test for SO36303462 2016-04-01 11:32:52 +01:00
Marc Gravell f0273d64f3 Standardize on test db for appveyor 2016-02-11 13:46:13 +00:00
Nick Craver eb51910ca6 Merging #370 2015-11-26 15:50:14 -05:00
Nick Craver d28f2cf4bf Skip MySQL tests if the server isn't running.
This is the "approved" xUnit pattern, via:
https://github.com/xunit/samples.xunit/tree/master/DynamicSkipExample
It's also the only way I can make the damn skipping work...but at least
it's it's one-time code to make any server set relatively easily
skippable.
2015-11-26 07:36:28 -05:00
Nick Craver 6ed2f3baa9 Add a MySQL test suite
TODO: Figure out a clean way to disable this locally - we'll want this
functionality in the Core test suite as well as we add MySQL specific
tests (due to syntax differences in creating tables and such).
2015-11-25 06:13:40 -05:00
Nick Craver 4606d6045f Contrib: make tests more friendly to fresh databases 2015-11-22 18:03:03 -05:00
Nick Craver de060821ce Use Appveyor's SQL when running there, on Contrib as well. 2015-11-22 18:03:02 -05:00
Nick Craver 7915f58f26 Move to Microsoft.SqlServer.Compact for Contrib tests 2015-11-22 18:03:01 -05:00