Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OP#47630] Check if free space is a positive value #390

Merged
merged 1 commit into from
Apr 20, 2023

Conversation

SwikritiT
Copy link
Contributor

Currently we're checking quota like this

$freeSpace = $folderNode->getFreeSpace();

// this is also true if we try to overwrite
// to overwrite a file we need enough free quota for the new data
// otherwise `putContent()` fails
if ($directUploadFile['size'] > $freeSpace) {
	throw new NotEnoughSpaceException('insufficient quota');
}

But since there's a possibility that the function getFreeSpace might return a negative

https://github.com/nextcloud/server/blob/b1abc57c07a61b5a0557395d86c3e31486a96c23/lib/public/Files/FileInfo.php#L52

https://github.com/nextcloud/server/blob/b1abc57c07a61b5a0557395d86c3e31486a96c23/lib/public/Files/FileInfo.php#L57

https://github.com/nextcloud/server/blob/b1abc57c07a61b5a0557395d86c3e31486a96c23/lib/public/Files/FileInfo.php#L62

So treat a negative return as an unlimited space

Related work package: https://community.openproject.org/projects/nextcloud-integration/work_packages/47630/activity?query_id=3504

@SwikritiT SwikritiT requested a review from individual-it April 13, 2023 06:17
Copy link
Collaborator

@individual-it individual-it left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, can we add unit tests for that case?

@SwikritiT
Copy link
Contributor Author

looks good, can we add unit tests for that case?

yes I can add it

@SwikritiT SwikritiT force-pushed the handle-negative-return-value-of-free-space branch from dbcd50a to cba195e Compare April 20, 2023 06:55
Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>
@SwikritiT SwikritiT force-pushed the handle-negative-return-value-of-free-space branch from 769e443 to 65774c1 Compare April 20, 2023 09:12
@github-actions
Copy link

JS Code Coverage

Coverage after merging handle-negative-return-value-of-free-space into release/2.3 will be
93.82%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src
   adminSettings.js0%0%0%0%1, 1, 10–19, 2, 20–25, 3–9
   bootstrap.js0%0%0%0%1, 1–7
   dashboard.js0%0%0%0%1, 1, 10–19, 2, 20–27, 3–9
   fileActions.js0%0%0%0%1, 1, 10–17, 2–9
   personalSettings.js0%0%0%0%1, 1, 10–19, 2, 20–25, 3–9
   projectTab.js0%0%0%0%1, 1, 10–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60–66, 7–9
   utils.js57.45%33.33%50%59.52%10–14, 17–26, 6–9
src/components
   AdminSettings.vue99.24%95.92%82.35%99.86%1, 1, 1
   OAuthConnectButton.vue99.09%80%100%100%1
   PersonalSettings.vue98.88%91.67%83.33%100%1
src/components/admin
   FieldValue.vue95.56%62.50%100%98.77%1, 1, 1, 1
   FormHeading.vue98.98%75%100%100%1
   TextInput.vue98.46%80%87.50%100%1, 1, 1
src/components/icons
   ClippyIcon.vue93.18%50%50%97.50%1, 1
src/components/settings
   CheckBox.vue92.45%80%66.67%97.62%1, 1
   SettingsTitle.vue94.74%50%100%97.14%1, 1
src/components/tab
   EmptyContent.vue99.34%90.91%100%100%1
   SearchInput.vue99.56%83.33%100%100%1
   WorkPackage.vue99.01%33.33%100%99.66%1, 1, 1
src/utils
   workpackageHelper.js97.46%96%100%97.75%17–19
src/views
   Dashboard.vue98.36%50%50%99.66%1, 1, 1
   ProjectsTab.vue99.74%92.31%100%100%23

@github-actions
Copy link

PHP Code Coverage

Coverage after merging handle-negative-return-value-of-free-space into release/2.3 will be
60.13%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
server/apps/integration_openproject/lib/AppInfo
   Application.php14.81%100%25%13.04%101, 105, 56–57, 60, 67, 69–71, 76–79, 81, 85–90
server/apps/integration_openproject/lib/BackgroundJob
   RemoveExpiredDirectUploadTokens.php0%100%0%0%42, 44–46, 55–56
server/apps/integration_openproject/lib/Controller
   ConfigController.php67.62%100%50%68.88%105, 122–123, 125, 127–129, 131–132, 137–138, 140, 416–419, 421–422, 425, 433, 444, 458–460, 475–479, 481–484, 502–509, 511, 513, 516–518, 532, 540–543, 545–548, 558–563
   DirectDownloadController.php0%100%0%0%36–38, 53–55, 57, 60–61
   DirectUploadController.php71.43%100%100%70.43%131–132, 177, 188, 192–195, 197, 207, 214, 230–232, 234–235, 238–240, 246, 248, 253–254, 261–262, 265–266, 269–270, 286–287, 307, 312, 318
   FilesController.php73.74%100%100%72.04%168, 221–222, 267, 273–277, 281–283, 285, 287, 298–300, 303–304, 306–307, 311–314, 317
   OpenProjectAPIController.php85.07%100%78.57%85.56%136, 171, 188–189, 193, 197, 199–204, 206, 215–216, 219, 221, 223–226, 228–229, 234, 253, 278, 95
server/apps/integration_openproject/lib/Dashboard
   OpenProjectWidget.php0%100%0%0%101–102, 104–108, 116, 123–124, 126, 128–129, 131–132, 134, 137–138, 140–141, 143, 69–73, 80, 87, 94
server/apps/integration_openproject/lib/Exception
   OpenprojectErrorException.php100%100%100%100%
   OpenprojectFileNotUploadedException.php100%100%100%100%
   OpenprojectResponseException.php100%100%100%100%
   OpenprojectUnauthorizedUserException.php0%100%0%0%16
server/apps/integration_openproject/lib/Listener
   LoadSidebarScript.php0%100%0%0%101, 103–105, 107, 109, 111–112, 114–115, 117, 119, 72–78, 80–81, 83–84, 86–87, 93–94, 96–97, 99
server/apps/integration_openproject/lib/Migration
   Version2001Date20221213083550.php0%100%0%0%47, 57, 60, 63, 67, 70, 73, 77–79, 81
   Version2310Date20230116153411.php0%100%0%0%46, 49–52, 54–56, 60, 64, 68, 72, 76, 81–82, 84
server/apps/integration_openproject/lib/Search
   OpenProjectSearchProvider.php0%100%0%0%102, 109–110, 113–118, 120–121, 123–125, 128–129, 131–132, 136–141, 147–148, 150, 159–163, 171–179, 195–202, 211–216, 71–75, 82, 89, 97, 99
   OpenProjectSearchResultEntry.php100%100%100%100%
server/apps/integration_openproject/lib/Service
   DatabaseService.php43.90%100%60%41.67%125–128, 131, 80–87, 89–93, 95–97
   DirectDownloadService.php88%100%100%86.96%65–66, 68
   DirectUploadService.php54.55%100%66.67%52.63%112, 118, 79–82, 84, 89, 91
   OauthService.php0%100%0%0%37–38, 47–53, 55, 64–67, 78–85, 95–99
   OpenProjectAPIService.php77.99%100%83.33%77.54%113–117, 288–289, 291, 305–306, 315, 319, 340, 428–429, 436, 439–442, 444, 450, 454–456, 476, 484–487, 491–493, 498–500, 503–505, 507, 510–511, 514, 680, 751, 781–782, 784, 786–787, 810, 814, 818–819, 822–825, 827–828, 830–831, 833–834
server/apps/integration_openproject/lib/Settings
   Admin.php0%100%0%0%32–34, 41–43, 46–50, 53, 58–59, 62, 64–65, 67, 71, 75
   AdminSection.php0%100%0%0%19–20, 29, 39, 48, 55
   Personal.php87.88%100%50%93.10%94, 98
   PersonalSection.php0%100%0%0%19–20, 29, 39, 48, 55

@SwikritiT SwikritiT merged commit 3a95c3a into release/2.3 Apr 20, 2023
@delete-merged-branch delete-merged-branch bot deleted the handle-negative-return-value-of-free-space branch April 20, 2023 09:48
SwikritiT added a commit that referenced this pull request Apr 26, 2023
Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>
SwikritiT added a commit that referenced this pull request Apr 27, 2023
* change master to stable26

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>

* Check if free space is a positive value (#390)

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>

* run ci in master

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>

* Update gihub packages

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>

* update version of the app for patch release (#396)

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>

---------

Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants