@@ -88,6 +88,97 @@ public void testSendMail() throws Exception {
88
88
assertTrue (m .message .contains ("BIT" ));
89
89
}
90
90
91
+ @ Test
92
+ public void testProtectRefsCreateBranch () throws Exception {
93
+ MockGitblit gitblit = new MockGitblit ();
94
+ MockLogger logger = new MockLogger ();
95
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
96
+ commands .add (new ReceiveCommand (ObjectId .zeroId (), ObjectId
97
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), "refs/heads/master" ));
98
+
99
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
100
+
101
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
102
+ }
103
+
104
+ @ Test
105
+ public void testProtectRefsCreateTag () throws Exception {
106
+ MockGitblit gitblit = new MockGitblit ();
107
+ MockLogger logger = new MockLogger ();
108
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
109
+ commands .add (new ReceiveCommand (ObjectId .zeroId (), ObjectId
110
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), "refs/tags/v1.0" ));
111
+
112
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
113
+
114
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
115
+ assertEquals (0 , logger .messages .size ());
116
+ }
117
+
118
+ @ Test
119
+ public void testProtectRefsFastForward () throws Exception {
120
+ MockGitblit gitblit = new MockGitblit ();
121
+ MockLogger logger = new MockLogger ();
122
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
123
+ commands .add (new ReceiveCommand (ObjectId
124
+ .fromString ("c18877690322dfc6ae3e37bb7f7085a24e94e887" ), ObjectId
125
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), "refs/heads/master" ));
126
+
127
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
128
+
129
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
130
+ assertEquals (0 , logger .messages .size ());
131
+ }
132
+
133
+ @ Test
134
+ public void testProtectRefsDeleteMasterBranch () throws Exception {
135
+ MockGitblit gitblit = new MockGitblit ();
136
+ MockLogger logger = new MockLogger ();
137
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
138
+ ReceiveCommand command = new ReceiveCommand (ObjectId
139
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), ObjectId .zeroId (),
140
+ "refs/heads/master" );
141
+ commands .add (command );
142
+
143
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
144
+
145
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
146
+ assertEquals (ReceiveCommand .Result .REJECTED_NODELETE , command .getResult ());
147
+ assertEquals (0 , logger .messages .size ());
148
+ }
149
+
150
+ @ Test
151
+ public void testProtectRefsDeleteOtherBranch () throws Exception {
152
+ MockGitblit gitblit = new MockGitblit ();
153
+ MockLogger logger = new MockLogger ();
154
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
155
+ commands .add (new ReceiveCommand (ObjectId
156
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), ObjectId .zeroId (),
157
+ "refs/heads/other" ));
158
+
159
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
160
+
161
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
162
+ assertEquals (0 , logger .messages .size ());
163
+ }
164
+
165
+ @ Test
166
+ public void testProtectRefsDeleteTag () throws Exception {
167
+ MockGitblit gitblit = new MockGitblit ();
168
+ MockLogger logger = new MockLogger ();
169
+ List <ReceiveCommand > commands = new ArrayList <ReceiveCommand >();
170
+ ReceiveCommand command = new ReceiveCommand (ObjectId
171
+ .fromString ("3fa7c46d11b11d61f1cbadc6888be5d0eae21969" ), ObjectId .zeroId (),
172
+ "refs/tags/v1.0" );
173
+ commands .add (command );
174
+
175
+ RepositoryModel repository = new RepositoryModel ("ex@mple.git" , "" , "admin" , new Date ());
176
+
177
+ test ("protect-refs.groovy" , gitblit , logger , commands , repository );
178
+ assertEquals (ReceiveCommand .Result .REJECTED_NODELETE , command .getResult ());
179
+ assertEquals (0 , logger .messages .size ());
180
+ }
181
+
91
182
@ Test
92
183
public void testBlockPush () throws Exception {
93
184
MockGitblit gitblit = new MockGitblit ();
0 commit comments