@@ -44,14 +44,16 @@ public class TestRepositoryFileApi {
4444 private static final String TEST_NAMESPACE ;
4545 private static final String TEST_HOST_URL ;
4646 private static final String TEST_PRIVATE_TOKEN ;
47-
4847 static {
4948 TEST_NAMESPACE = TestUtils .getProperty ("TEST_NAMESPACE" );
5049 TEST_PROJECT_NAME = TestUtils .getProperty ("TEST_PROJECT_NAME" );
5150 TEST_HOST_URL = TestUtils .getProperty ("TEST_HOST_URL" );
5251 TEST_PRIVATE_TOKEN = TestUtils .getProperty ("TEST_PRIVATE_TOKEN" );
5352 }
5453
54+ private static final String TEST_CONTENT = "This is some content to test file content 1234567890 !@#$%^&()." ;
55+ private static final String TEST_ADDITIONAL_CONTENT = "\n \n This is an additional line" ;
56+
5557 private static final String TEST_BRANCH_NAME = "feature/test_branch_for_files" ;
5658 private static final String TEST_FILEPATH = "test-file.txt" ;
5759 private static GitLabApi gitLabApi ;
@@ -183,7 +185,7 @@ public void testCreateFileAndDeleteFile() throws GitLabApiException {
183185
184186 RepositoryFile file = new RepositoryFile ();
185187 file .setFilePath (TEST_FILEPATH );
186- file .setContent ("This is a test file." );
188+ file .setContent (TEST_CONTENT );
187189 RepositoryFile createdFile = gitLabApi .getRepositoryFileApi ().createFile (file , project .getId (), TEST_BRANCH_NAME , "Testing createFile()." );
188190 assertNotNull (createdFile );
189191
@@ -209,4 +211,39 @@ public void testCreateFileWithEmptyContent() throws GitLabApiException {
209211 gitLabApi .getRepositoryFileApi ().deleteFile (TEST_FILEPATH , project .getId (), TEST_BRANCH_NAME , "Testing deleteFile()." );
210212 gitLabApi .getRepositoryApi ().deleteBranch (project .getId (), TEST_BRANCH_NAME );
211213 }
214+
215+ @ Test
216+ public void testUpdateFile () throws GitLabApiException {
217+
218+ Project project = gitLabApi .getProjectApi ().getProject (TEST_NAMESPACE , TEST_PROJECT_NAME );
219+ assertNotNull (project );
220+
221+ Branch branch = gitLabApi .getRepositoryApi ().createBranch (project .getId (), TEST_BRANCH_NAME , "master" );
222+ assertNotNull (branch );
223+
224+ RepositoryFile file = new RepositoryFile ();
225+ file .setFilePath (TEST_FILEPATH );
226+ file .setContent (TEST_CONTENT );
227+ RepositoryFile createdFile = gitLabApi .getRepositoryFileApi ().createFile (file , project .getId (), TEST_BRANCH_NAME , "Testing createFile()." );
228+ assertNotNull (createdFile );
229+
230+ Optional <RepositoryFile > optionalFile = gitLabApi .getRepositoryFileApi ().getOptionalFile (project , TEST_FILEPATH , TEST_BRANCH_NAME );
231+ assertTrue (optionalFile .isPresent ());
232+ RepositoryFile newFile = optionalFile .get ();
233+ assertEquals (TEST_CONTENT , newFile .getDecodedContentAsString ());
234+
235+ String newContent = TEST_CONTENT + TEST_ADDITIONAL_CONTENT ;
236+ file = new RepositoryFile ();
237+ file .setFilePath (TEST_FILEPATH );
238+ file .encodeAndSetContent (newContent );
239+ gitLabApi .getRepositoryFileApi ().updateFile (file , project .getId (), TEST_BRANCH_NAME , "Testing updateFile()." );
240+
241+ optionalFile = gitLabApi .getRepositoryFileApi ().getOptionalFile (project , TEST_FILEPATH , TEST_BRANCH_NAME );
242+ assertTrue (optionalFile .isPresent ());
243+ RepositoryFile updatedFile = optionalFile .get ();
244+ assertEquals (newContent , updatedFile .getDecodedContentAsString ());
245+
246+ gitLabApi .getRepositoryFileApi ().deleteFile (TEST_FILEPATH , project .getId (), TEST_BRANCH_NAME , "Testing deleteFile()." );
247+ gitLabApi .getRepositoryApi ().deleteBranch (project .getId (), TEST_BRANCH_NAME );
248+ }
212249}
0 commit comments