ayende/ravendb — pull request #270 by arekais (2013-02-27 07:52:23+00:00)
Title: Separate channel for replication conflicts in Changes API. More work with conflicts in embeddable store

This contains:
- added ForAllReplicationConflicts() to IDatabaseChanges to provide a way to observe only conflicts (RavenDB-698)
- if conflicts are observed and any registered conflicts listeners are provided then automatically try to resolve (RavenDB-698)

- fixing missing usage of registered conflict listeners by EmbeddableStorage
- added checking for conflicts and throwing exceptions if needed in EmbeddableStorage

Some comments about tests:

I've got problem with tests contained in ReplicationConflicts_Embedded.cs (note 'embedded'). If they were run one by one separately they passed. However running all tests from this file resulted that the one of them failed. Some invastigations showed me that the failed test somehow got replication request/notification from previous, already executed test (I added ID of transactional storage to the request URL and printed when request arrived). My current solution for that is to set different ports of servers used in this tests - I was not able to figure out what was exactly going on.