@@ -9,94 +9,93 @@ public sealed class ServiceUnitTests
9
9
{
10
10
[ TestMethod ]
11
11
/*
12
- * User.AddService Adds the new service,
13
- * Then updating the service,
14
- * Then Database.Save will save the update in the database file and delete the autosave file,
15
- * Then GetUser loads correctly the updated database file.
12
+ * User.AddService adds the new service,
13
+ * Then updating the service and saving will save the update in the database file and delete the autosave file,
14
+ * Then Database.Open loads correctly the updated database file with the updated service.
16
15
*/
17
- public void Case01_ServiceAdd ( )
16
+ public void Case01_AddServiceUpdateSaved ( )
18
17
{
19
18
// Given
20
19
UnitTestsHelper . ClearTestEnvironment ( ) ;
21
20
string [ ] passkeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
22
21
IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( passkeys ) ;
22
+ string serviceName = "Service_" + UnitTestsHelper . GetUsername ( ) ;
23
+ string url = UnitTestsHelper . GetRandomString ( ) ;
24
+ string notes = UnitTestsHelper . GetRandomString ( ) ;
25
+
26
+ // When
27
+ if ( databaseCreated . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
28
+ IService service = databaseCreated . User . AddService ( serviceName ) ;
29
+
30
+ // Then
31
+ databaseCreated . User . Services . Count ( ) . Should ( ) . Be ( 1 ) ;
32
+
33
+ // When
34
+ service . Url = url ;
35
+ service . Notes = notes ;
36
+ databaseCreated . Save ( ) ;
23
37
databaseCreated . Close ( ) ;
24
- string oldDatabaseContent = File . ReadAllText ( UnitTestsHelper . ComputeDatabaseFilePath ( ) ) ;
38
+
25
39
IDatabase databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys ) ;
40
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
26
41
27
- string newUsername = UnitTestsHelper . GetRandomString ( ) ;
28
- string [ ] newPasskeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
29
- int logoutTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
30
- int cleaningClipboardTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
42
+ // Then
43
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 1 ) ;
31
44
32
45
// When
33
- if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseLoaded . User ) ) ;
34
-
35
- databaseLoaded . User . Username = newUsername ;
36
- databaseLoaded . User . Passkeys = newPasskeys ;
37
- databaseLoaded . User . LogoutTimeout = logoutTimeout ;
38
- databaseLoaded . User . CleaningClipboardTimeout = cleaningClipboardTimeout ;
39
- databaseLoaded . Close ( ) ;
46
+ IService serviceLoaded = databaseLoaded . User . Services . First ( ) ;
40
47
41
48
// Then
42
- _ = File . Exists ( UnitTestsHelper . ComputeAutoSaveFilePath ( ) ) . Should ( ) . BeTrue ( ) ;
43
- _ = File . ReadAllText ( UnitTestsHelper . ComputeDatabaseFilePath ( ) ) . Should ( ) . Be ( oldDatabaseContent ) ;
49
+ serviceLoaded . ServiceName . Should ( ) . Be ( serviceName ) ;
50
+ serviceLoaded . Url . Should ( ) . Be ( url ) ;
51
+ serviceLoaded . Notes . Should ( ) . Be ( notes ) ;
44
52
45
53
// Finaly
54
+ databaseLoaded . Close ( ) ;
46
55
UnitTestsHelper . ClearTestEnvironment ( ) ;
47
56
}
48
57
49
58
[ TestMethod ]
50
59
/*
51
- * Updating User creates an autosave file ,
52
- * Then Database.Save will save the update in the database file and delete the autosave file,
53
- * Then GetUser loads correctly the updated database file.
60
+ * User.AddService adds the new service ,
61
+ * Then updating the service without saving will create the autosave file,
62
+ * Then Database.Open with AutoSaveMergeBehavior.MergeThenRemoveAutoSaveFile loads correctly the updated database file with the updated service .
54
63
*/
55
- public void Case02_UserUpdateThenSaved ( )
64
+ public void Case02_AddServiceUpdateAutoSave ( )
56
65
{
57
66
// Given
58
67
UnitTestsHelper . ClearTestEnvironment ( ) ;
59
- string databaseFile = UnitTestsHelper . ComputeDatabaseFilePath ( ) ;
60
- string autoSaveFile = UnitTestsHelper . ComputeAutoSaveFilePath ( ) ;
61
- string logFile = UnitTestsHelper . ComputeLogFilePath ( ) ;
62
- IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( ) ;
63
- string newUsername = UnitTestsHelper . GetRandomString ( ) ;
64
- string [ ] newPasskeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
65
- int logoutTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
66
- int cleaningClipboardTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
68
+ string [ ] passkeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
69
+ IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( passkeys ) ;
70
+ string serviceName = "Service_" + UnitTestsHelper . GetUsername ( ) ;
71
+ string url = UnitTestsHelper . GetRandomString ( ) ;
72
+ string notes = UnitTestsHelper . GetRandomString ( ) ;
67
73
68
74
// When
69
75
if ( databaseCreated . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
70
-
71
- databaseCreated . User . Username = newUsername ;
72
- databaseCreated . User . Passkeys = newPasskeys ;
73
- databaseCreated . User . LogoutTimeout = logoutTimeout ;
74
- databaseCreated . User . CleaningClipboardTimeout = cleaningClipboardTimeout ;
76
+ IService service = databaseCreated . User . AddService ( serviceName ) ;
75
77
76
78
// Then
77
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeTrue ( ) ;
79
+ databaseCreated . User . Services . Count ( ) . Should ( ) . Be ( 1 ) ;
78
80
79
81
// When
80
- databaseCreated . Save ( ) ;
82
+ service . Url = url ;
83
+ service . Notes = notes ;
81
84
databaseCreated . Close ( ) ;
82
85
86
+ IDatabase databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys , AutoSaveMergeBehavior . MergeThenRemoveAutoSaveFile ) ;
87
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
88
+
83
89
// Then
84
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeFalse ( ) ;
90
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 1 ) ;
85
91
86
92
// When
87
- IDatabase databaseLoaded = IDatabase . Open ( UnitTestsHelper . CryptographicCenter , UnitTestsHelper . SerializationCenter , databaseFile , autoSaveFile , logFile , newUsername ) ;
88
- foreach ( string passkey in newPasskeys )
89
- {
90
- _ = databaseLoaded . Login ( passkey ) ;
91
- }
93
+ IService serviceLoaded = databaseLoaded . User . Services . First ( ) ;
92
94
93
95
// Then
94
- _ = databaseLoaded . User . Should ( ) . NotBeNull ( ) ;
95
- _ = ( databaseLoaded . User ? . Username . Should ( ) . Be ( newUsername ) ) ;
96
- _ = ( databaseLoaded . User ? . LogoutTimeout . Should ( ) . Be ( logoutTimeout ) ) ;
97
- _ = ( databaseLoaded . User ? . CleaningClipboardTimeout . Should ( ) . Be ( cleaningClipboardTimeout ) ) ;
98
-
99
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeFalse ( ) ;
96
+ serviceLoaded . ServiceName . Should ( ) . Be ( serviceName ) ;
97
+ serviceLoaded . Url . Should ( ) . Be ( url ) ;
98
+ serviceLoaded . Notes . Should ( ) . Be ( notes ) ;
100
99
101
100
// Finaly
102
101
databaseLoaded . Close ( ) ;
@@ -105,62 +104,79 @@ public void Case02_UserUpdateThenSaved()
105
104
106
105
[ TestMethod ]
107
106
/*
108
- * Updating User creates an autosave file,
109
- * Then GetUser loads the database file without the updated data,
110
- * Then HandleAutoSave updates the database object and the database file,
111
- * Then GetUser loads correctly the updated database file.
107
+ * User.DeleteService deletes the service,
108
+ * Then Database.Open loads correctly the updated database file with the updated service.
112
109
*/
113
- public void Case03_UserUpdateButNotSaved ( )
110
+ public void Case03_DeleteServiceUpdateSaved ( )
114
111
{
115
112
// Given
116
113
UnitTestsHelper . ClearTestEnvironment ( ) ;
117
- string oldUsername = UnitTestsHelper . GetUsername ( ) ;
118
- string [ ] oldPasskeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
119
- string databaseFile = UnitTestsHelper . ComputeDatabaseFilePath ( ) ;
120
- string autoSaveFile = UnitTestsHelper . ComputeAutoSaveFilePath ( ) ;
121
- string logFile = UnitTestsHelper . ComputeLogFilePath ( ) ;
122
- IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( oldPasskeys ) ;
123
- string newUsername = UnitTestsHelper . GetRandomString ( ) ;
124
- string [ ] newPasskeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
125
- int logoutTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
126
- int cleaningClipboardTimeout = UnitTestsHelper . GetRandomInt ( 1 , 60 ) ;
114
+ string [ ] passkeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
115
+ IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( passkeys ) ;
116
+ string serviceName = "Service_" + UnitTestsHelper . GetUsername ( ) ;
117
+ if ( databaseCreated . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
118
+ databaseCreated . User . AddService ( serviceName ) ;
119
+ databaseCreated . Save ( ) ;
120
+ databaseCreated . Close ( ) ;
121
+
122
+ IDatabase databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys ) ;
123
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
124
+ IService serviceLoaded = databaseLoaded . User . Services . First ( ) ;
127
125
128
126
// When
129
- if ( databaseCreated . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
127
+ databaseLoaded . User . DeleteService ( serviceLoaded ) ;
130
128
131
- databaseCreated . User . Username = newUsername ;
132
- databaseCreated . User . Passkeys = newPasskeys ;
133
- databaseCreated . User . LogoutTimeout = logoutTimeout ;
134
- databaseCreated . User . CleaningClipboardTimeout = cleaningClipboardTimeout ;
135
- databaseCreated . Close ( ) ;
129
+ // Then
130
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 0 ) ;
131
+
132
+ // When
133
+ databaseLoaded . Save ( ) ;
134
+ databaseLoaded . Close ( ) ;
135
+ databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys ) ;
136
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
136
137
137
138
// Then
138
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeTrue ( ) ;
139
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 0 ) ;
140
+
141
+ // Finaly
142
+ databaseLoaded . Close ( ) ;
143
+ UnitTestsHelper . ClearTestEnvironment ( ) ;
144
+ }
145
+
146
+ [ TestMethod ]
147
+ /*
148
+ * User.DeleteService adeletes the service,
149
+ * Then Database.Open with AutoSaveMergeBehavior.MergeThenRemoveAutoSaveFile loads correctly the updated database file with the updated service.
150
+ */
151
+ public void Case04_DeleteServiceUpdateAutoSave ( )
152
+ {
153
+ // Given
154
+ UnitTestsHelper . ClearTestEnvironment ( ) ;
155
+ string [ ] passkeys = UnitTestsHelper . GetRandomPasskeys ( ) ;
156
+ IDatabase databaseCreated = UnitTestsHelper . CreateTestDatabase ( passkeys ) ;
157
+ string serviceName = "Service_" + UnitTestsHelper . GetUsername ( ) ;
158
+ if ( databaseCreated . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
159
+ databaseCreated . User . AddService ( serviceName ) ;
160
+ databaseCreated . Close ( ) ;
161
+
162
+ IDatabase databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys , AutoSaveMergeBehavior . MergeThenRemoveAutoSaveFile ) ;
163
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
164
+ IService serviceLoaded = databaseLoaded . User . Services . First ( ) ;
139
165
140
166
// When
141
- IDatabase databaseLoaded = UnitTestsHelper . OpenTestDatabase ( oldPasskeys , AutoSaveMergeBehavior . MergeThenRemoveAutoSaveFile ) ;
167
+ databaseLoaded . User . DeleteService ( serviceLoaded ) ;
142
168
143
169
// Then
144
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeFalse ( ) ;
145
- _ = ( databaseLoaded . User ? . Username . Should ( ) . Be ( newUsername ) ) ;
146
- _ = ( databaseLoaded . User ? . Passkeys . Should ( ) . BeEquivalentTo ( newPasskeys ) ) ;
147
- _ = ( databaseLoaded . User ? . LogoutTimeout . Should ( ) . Be ( logoutTimeout ) ) ;
148
- _ = ( databaseLoaded . User ? . CleaningClipboardTimeout . Should ( ) . Be ( cleaningClipboardTimeout ) ) ;
170
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 0 ) ;
149
171
150
172
// When
173
+ databaseLoaded . Save ( ) ;
151
174
databaseLoaded . Close ( ) ;
152
- databaseLoaded = IDatabase . Open ( UnitTestsHelper . CryptographicCenter , UnitTestsHelper . SerializationCenter , databaseFile , autoSaveFile , logFile , newUsername ) ;
153
- foreach ( string passkey in newPasskeys )
154
- {
155
- _ = databaseLoaded . Login ( passkey ) ;
156
- }
175
+ databaseLoaded = UnitTestsHelper . OpenTestDatabase ( passkeys , AutoSaveMergeBehavior . MergeThenRemoveAutoSaveFile ) ;
176
+ if ( databaseLoaded . User == null ) throw new NullReferenceException ( nameof ( databaseCreated . User ) ) ;
157
177
158
178
// Then
159
- _ = File . Exists ( autoSaveFile ) . Should ( ) . BeFalse ( ) ;
160
- _ = ( databaseLoaded . User ? . Username . Should ( ) . Be ( newUsername ) ) ;
161
- _ = ( databaseLoaded . User ? . Passkeys . Should ( ) . BeEquivalentTo ( newPasskeys ) ) ;
162
- _ = ( databaseLoaded . User ? . LogoutTimeout . Should ( ) . Be ( logoutTimeout ) ) ;
163
- _ = ( databaseLoaded . User ? . CleaningClipboardTimeout . Should ( ) . Be ( cleaningClipboardTimeout ) ) ;
179
+ databaseLoaded . User . Services . Count ( ) . Should ( ) . Be ( 0 ) ;
164
180
165
181
// Finaly
166
182
databaseLoaded . Close ( ) ;
0 commit comments