@@ -51,6 +51,36 @@ void GetUploadItemOnCompletedUpload() {
5151 assertEquals ("largeFile.vhd" , item .name );
5252 assertEquals (33 , item .size );
5353 }
54+
55+ @ Test
56+ void GetUploadItemOnCompletedUpdate () {
57+ registry .contentTypeAssociatedFactories .put (CoreConstants .MimeTypeNames .APPLICATION_JSON , new JsonParseNodeFactory ());
58+
59+ UploadResponseHandler responseHandler = new UploadResponseHandler (null );
60+ ResponseBody body = ResponseBody .create ("{\n " +
61+ " \" id\" : \" 912310013A123\" ,\n " +
62+ " \" name\" : \" largeFile.vhd\" ,\n " +
63+ " \" size\" : 33\n " +
64+ "}"
65+ , MediaType .parse (CoreConstants .MimeTypeNames .APPLICATION_JSON ));
66+ Response response = new Response .Builder ()
67+ .request (mock (Request .class ))
68+ .protocol (mock (Protocol .class ))
69+ .body (body )
70+ .code (HttpURLConnection .HTTP_OK )
71+ .message ("OK" )
72+ .build ();
73+ UploadResult <TestDriveItem > result = responseHandler
74+ .handleResponse (response , TestDriveItem ::createFromDiscriminatorValue );
75+ responseHandler .handleResponse (response , parseNode -> {return new TestDriveItem ();});
76+ TestDriveItem item = result .itemResponse ;
77+ assertTrue (result .isUploadSuccessful ());
78+ assertNotNull (item );
79+ assertEquals ("912310013A123" , item .id );
80+ assertEquals ("largeFile.vhd" , item .name );
81+ assertEquals (33 , item .size );
82+ }
83+
5484 @ Test
5585 void getFileAttachmentLocationOnCompletedUpload () {
5686 registry .contentTypeAssociatedFactories .put (CoreConstants .MimeTypeNames .APPLICATION_JSON , new JsonParseNodeFactory ());
@@ -105,6 +135,7 @@ void getUploadSessionOnProgressingUpload() {
105135 assertEquals ("77829-99375" , session .getNextExpectedRanges ().get (1 ));
106136 assertEquals (2 , session .getNextExpectedRanges ().size ());
107137 }
138+
108139 @ Test
109140 void throwsServiceExceptionOnErrorResponse () {
110141 UploadResponseHandler responseHandler = new UploadResponseHandler (null );
0 commit comments