Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
CAP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
CAP
Commits
e9f1a8d8
Commit
e9f1a8d8
authored
Jun 09, 2017
by
yangxiaodong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor
parent
00bddbd4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
30 deletions
+44
-30
ConsistencyBuilderTest.cs
test/Cap.Consistency.Test/ConsistencyBuilderTest.cs
+14
-8
ConsistencyMessageManagerTest.cs
test/Cap.Consistency.Test/ConsistencyMessageManagerTest.cs
+17
-16
NoopMessageStore.cs
test/Cap.Consistency.Test/NoopMessageStore.cs
+12
-6
OperateResultTest.cs
test/Cap.Consistency.Test/OperateResultTest.cs
+1
-0
No files found.
test/Cap.Consistency.Test/ConsistencyBuilderTest.cs
View file @
e9f1a8d8
using
System
;
using
System
;
using
System.Threading
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
Cap.Consistency.Infrastructure
;
using
Cap.Consistency.Store
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.DependencyInjection
;
using
Xunit
;
using
Xunit
;
...
@@ -11,18 +13,18 @@ namespace Cap.Consistency.Test
...
@@ -11,18 +13,18 @@ namespace Cap.Consistency.Test
[
Fact
]
[
Fact
]
public
void
CanOverrideMessageStore
()
{
public
void
CanOverrideMessageStore
()
{
var
services
=
new
ServiceCollection
();
var
services
=
new
ServiceCollection
();
services
.
AddConsistency
<
TestConsistencyMessage
>
().
AddMessageStore
<
MyUberThingy
>();
services
.
AddConsistency
().
AddMessageStore
<
MyUberThingy
>();
var
thingy
=
services
.
BuildServiceProvider
().
GetRequiredService
<
IConsistencyMessageStore
<
TestConsistencyMessage
>
>()
as
MyUberThingy
;
var
thingy
=
services
.
BuildServiceProvider
().
GetRequiredService
<
IConsistencyMessageStore
>()
as
MyUberThingy
;
Assert
.
NotNull
(
thingy
);
Assert
.
NotNull
(
thingy
);
}
}
private
class
MyUberThingy
:
IConsistencyMessageStore
<
TestConsistencyMessage
>
private
class
MyUberThingy
:
IConsistencyMessageStore
{
{
public
Task
<
OperateResult
>
CreateAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
OperateResult
>
CreateAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
OperateResult
>
DeleteAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
OperateResult
>
DeleteAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
...
@@ -30,15 +32,19 @@ namespace Cap.Consistency.Test
...
@@ -30,15 +32,19 @@ namespace Cap.Consistency.Test
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
Test
ConsistencyMessage
>
FindByIdAsync
(
string
messageId
,
CancellationToken
cancellationToken
)
{
public
Task
<
ConsistencyMessage
>
FindByIdAsync
(
string
messageId
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
string
>
Ge
tMessageIdAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
string
>
Ge
ConsistencyMessageIdAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
OperateResult
>
UpdateAsync
(
TestConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
string
>
GetMessageIdAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
}
public
Task
<
OperateResult
>
UpdateAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
}
}
...
...
test/Cap.Consistency.Test/ConsistencyMessageManagerTest.cs
View file @
e9f1a8d8
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
using
System.Threading
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
Cap.Consistency.Infrastructure
;
using
Cap.Consistency.Infrastructure
;
using
Cap.Consistency.Store
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Logging
;
...
@@ -15,13 +16,13 @@ namespace Cap.Consistency.Test
...
@@ -15,13 +16,13 @@ namespace Cap.Consistency.Test
[
Fact
]
[
Fact
]
public
void
EnsureDefaultServicesDefaultsWithStoreWorks
()
{
public
void
EnsureDefaultServicesDefaultsWithStoreWorks
()
{
var
services
=
new
ServiceCollection
()
var
services
=
new
ServiceCollection
()
.
AddTransient
<
IConsistencyMessageStore
<
TestConsistencyMessage
>
,
NoopMessageStore
>();
.
AddTransient
<
IConsistencyMessageStore
,
NoopMessageStore
>();
services
.
AddConsistency
<
TestConsistencyMessage
>
();
services
.
AddConsistency
();
services
.
AddSingleton
<
IHttpContextAccessor
,
HttpContextAccessor
>();
services
.
AddSingleton
<
IHttpContextAccessor
,
HttpContextAccessor
>();
services
.
AddLogging
();
services
.
AddLogging
();
var
manager
=
services
.
BuildServiceProvider
()
var
manager
=
services
.
BuildServiceProvider
()
.
GetRequiredService
<
ConsistencyMessageManager
<
TestConsistencyMessage
>
>();
.
GetRequiredService
<
ConsistencyMessageManager
>();
Assert
.
NotNull
(
manager
);
Assert
.
NotNull
(
manager
);
}
}
...
@@ -29,31 +30,31 @@ namespace Cap.Consistency.Test
...
@@ -29,31 +30,31 @@ namespace Cap.Consistency.Test
[
Fact
]
[
Fact
]
public
void
AddMessageManagerWithCustomerMannagerReturnsSameInstance
()
{
public
void
AddMessageManagerWithCustomerMannagerReturnsSameInstance
()
{
var
services
=
new
ServiceCollection
()
var
services
=
new
ServiceCollection
()
.
AddTransient
<
IConsistencyMessageStore
<
TestConsistencyMessage
>
,
NoopMessageStore
>()
.
AddTransient
<
IConsistencyMessageStore
,
NoopMessageStore
>()
.
AddSingleton
<
IHttpContextAccessor
,
HttpContextAccessor
>();
.
AddSingleton
<
IHttpContextAccessor
,
HttpContextAccessor
>();
services
.
AddLogging
();
services
.
AddLogging
();
services
.
AddConsistency
<
TestConsistencyMessage
>
()
//services.AddConsistency
()
.
AddConsistencyMessageManager
<
CustomMessageManager
>();
//
.AddConsistencyMessageManager<CustomMessageManager>();
var
provider
=
services
.
BuildServiceProvider
();
var
provider
=
services
.
BuildServiceProvider
();
Assert
.
Same
(
provider
.
GetRequiredService
<
ConsistencyMessageManager
<
TestConsistencyMessage
>
>(),
Assert
.
Same
(
provider
.
GetRequiredService
<
ConsistencyMessageManager
>(),
provider
.
GetRequiredService
<
CustomMessageManager
>());
provider
.
GetRequiredService
<
CustomMessageManager
>());
}
}
public
class
CustomMessageManager
:
ConsistencyMessageManager
<
TestConsistencyMessage
>
public
class
CustomMessageManager
:
ConsistencyMessageManager
{
{
public
CustomMessageManager
()
public
CustomMessageManager
()
:
base
(
new
Mock
<
IConsistencyMessageStore
<
TestConsistencyMessage
>
>().
Object
,
null
,
null
)
{
:
base
(
new
Mock
<
IConsistencyMessageStore
>().
Object
,
null
,
null
)
{
}
}
}
}
[
Fact
]
[
Fact
]
public
async
Task
CreateCallsStore
()
{
public
async
Task
CreateCallsStore
()
{
var
store
=
new
Mock
<
IConsistencyMessageStore
<
TestConsistencyMessage
>
>();
var
store
=
new
Mock
<
IConsistencyMessageStore
>();
var
message
=
new
Test
ConsistencyMessage
{
SendTime
=
DateTime
.
Now
};
var
message
=
new
ConsistencyMessage
{
SendTime
=
DateTime
.
Now
};
store
.
Setup
(
x
=>
x
.
CreateAsync
(
message
,
CancellationToken
.
None
)).
ReturnsAsync
(
OperateResult
.
Success
).
Verifiable
();
store
.
Setup
(
x
=>
x
.
CreateAsync
(
message
,
CancellationToken
.
None
)).
ReturnsAsync
(
OperateResult
.
Success
).
Verifiable
();
var
messageManager
=
TestConsistencyMessageManager
(
store
.
Object
);
var
messageManager
=
TestConsistencyMessageManager
(
store
.
Object
);
...
@@ -63,11 +64,11 @@ namespace Cap.Consistency.Test
...
@@ -63,11 +64,11 @@ namespace Cap.Consistency.Test
store
.
VerifyAll
();
store
.
VerifyAll
();
}
}
public
ConsistencyMessageManager
<
TMessage
>
TestConsistencyMessageManager
<
TMessage
>(
IConsistencyMessageStore
<
TMessage
>
store
=
null
)
public
ConsistencyMessageManager
TestConsistencyMessageManager
(
IConsistencyMessageStore
store
=
null
)
where
TMessage
:
ConsistencyMessage
{
{
store
=
store
??
new
Mock
<
IConsistencyMessageStore
<
TMessage
>
>().
Object
;
store
=
store
??
new
Mock
<
IConsistencyMessageStore
>().
Object
;
var
mockLogger
=
new
Mock
<
ILogger
<
ConsistencyMessageManager
<
TMessage
>
>>().
Object
;
var
mockLogger
=
new
Mock
<
ILogger
<
ConsistencyMessageManager
>>().
Object
;
var
manager
=
new
ConsistencyMessageManager
<
TMessage
>
(
store
,
null
,
mockLogger
);
var
manager
=
new
ConsistencyMessageManager
(
store
,
null
,
mockLogger
);
return
manager
;
return
manager
;
}
}
}
}
...
...
test/Cap.Consistency.Test/NoopMessageStore.cs
View file @
e9f1a8d8
using
System
;
using
System
;
using
System.Threading
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
Cap.Consistency.Infrastructure
;
using
Cap.Consistency.Store
;
namespace
Cap.Consistency.Test
namespace
Cap.Consistency.Test
{
{
public
class
NoopMessageStore
:
IConsistencyMessageStore
<
TestConsistencyMessage
>
public
class
NoopMessageStore
:
IConsistencyMessageStore
{
{
public
Task
<
OperateResult
>
CreateAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
OperateResult
>
CreateAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
OperateResult
>
DeleteAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
OperateResult
>
DeleteAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
...
@@ -18,15 +20,19 @@ namespace Cap.Consistency.Test
...
@@ -18,15 +20,19 @@ namespace Cap.Consistency.Test
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
Test
ConsistencyMessage
>
FindByIdAsync
(
string
messageId
,
CancellationToken
cancellationToken
)
{
public
Task
<
ConsistencyMessage
>
FindByIdAsync
(
string
messageId
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
string
>
Ge
tMessageIdAsync
(
Test
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
string
>
Ge
ConsistencyMessageIdAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
public
Task
<
OperateResult
>
UpdateAsync
(
TestConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
public
Task
<
string
>
GetMessageIdAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
}
public
Task
<
OperateResult
>
UpdateAsync
(
ConsistencyMessage
message
,
CancellationToken
cancellationToken
)
{
throw
new
NotImplementedException
();
throw
new
NotImplementedException
();
}
}
}
}
...
...
test/Cap.Consistency.Test/OperateResultTest.cs
View file @
e9f1a8d8
using
System.Linq
;
using
System.Linq
;
using
Cap.Consistency.Store
;
using
Xunit
;
using
Xunit
;
namespace
Cap.Consistency.Test
namespace
Cap.Consistency.Test
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment