Skip to content

Commit ecf55ca

Browse files
update
1 parent 8ccd830 commit ecf55ca

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

web/app/Models/HostingSubscriptionBackup.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,15 @@ public function checkBackup()
8484

8585
$backupDoneFile = $this->path.'/backup-'.$this->id.'.done';
8686
if (file_exists($backupDoneFile)) {
87+
8788
$this->size = Helpers::checkPathSize($this->path);
8889
$this->status = 'completed';
8990
$this->completed = true;
9091
$this->completed_at = now();
9192
$this->save();
93+
9294
shell_exec('rm -rf ' . $backupDoneFile);
95+
9396
return [
9497
'status' => 'completed',
9598
'message' => 'Backup completed'
@@ -164,6 +167,7 @@ public function startBackup()
164167

165168
$backupTempScript = '/tmp/backup-script-'.$this->id.'.sh';
166169
$shellFileContent = '';
170+
$shellFileContent .= 'mkdir -p '. $backupTargetPath.PHP_EOL;
167171
$shellFileContent .= 'echo "Backup up domain: '.$findHostingSubscription->domain . PHP_EOL;
168172
$shellFileContent .= 'echo "Backup filename: '.$backupFileName. PHP_EOL;
169173
$shellFileContent .= 'cp -r /home/'.$findHostingSubscription->system_username.' '.$backupTempPath.PHP_EOL;
@@ -175,7 +179,6 @@ public function startBackup()
175179
$shellFileContent .= 'touch ' . $backupTargetPath. '/backup-'.$this->id.'.done' . PHP_EOL;
176180
$shellFileContent .= 'rm -rf ' . $backupTempScript . PHP_EOL;
177181

178-
$shellFileContent .= 'mkdir -p '. $backupTargetPath.PHP_EOL;
179182
$shellFileContent .= 'mv '.$backupFilePath.' '. $backupTargetFilePath.PHP_EOL;
180183

181184
file_put_contents($backupTempScript, $shellFileContent);

web/tests/Unit/HostingSubscriptionBackupTest.php

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,29 @@ class HostingSubscriptionBackupTest extends ActionTestCase
1717
{
1818
public function testFullBackup()
1919
{
20-
$this->_createHostingSubscription();
20+
$chs = $this->_createHostingSubscription();
2121

2222
Artisan::call('phyre:run-hosting-subscriptions-backup');
2323

24-
$findLastBackup = HostingSubscriptionBackup::orderBy('id', 'asc')->first();
24+
$findLastBackup = HostingSubscriptionBackup::where('hosting_subscription_id', $chs['hostingSubscriptionId'])
25+
->first();
26+
2527
$this->assertNotEmpty($findLastBackup);
2628
$this->assertNotEmpty($findLastBackup->id);
2729
$this->assertNotEmpty($findLastBackup->created_at);
2830
$this->assertSame($findLastBackup->backup_type, 'full');
2931

3032
$backupFinished = false;
31-
for ($i = 0; $i < 100; $i++) {
32-
$findLastBackup = HostingSubscriptionBackup::orderBy('id', 'desc')->first();
33+
for ($i = 0; $i < 50; $i++) {
34+
$findLastBackup = HostingSubscriptionBackup::where('id', $findLastBackup->id)->first();
3335
$findLastBackup->checkBackup();
3436
if ($findLastBackup->status == BackupStatus::Completed) {
3537
$backupFinished = true;
3638
break;
3739
}
3840
sleep(1);
3941
}
42+
4043
$this->assertTrue($backupFinished);
4144
$this->assertSame($findLastBackup->status, BackupStatus::Completed);
4245
$this->assertNotEmpty($findLastBackup->filepath);
@@ -46,23 +49,25 @@ public function testFullBackup()
4649
$checkCronJob = $backup->checkCronJob();
4750
$this->assertTrue($checkCronJob);
4851

49-
$this->_createHostingSubscription();
52+
$chs = $this->_createHostingSubscription();
5053

5154
$backup = new HostingSubscriptionBackup();
5255
$backup->backup_type = 'full';
56+
$backup->hosting_subscription_id = $chs['hostingSubscriptionId'];
5357
$backup->save();
5458

5559
$backupId = $backup->id;
5660

5761
$findBackup = false;
5862
$backupCompleted = false;
59-
for ($i = 0; $i < 100; $i++) {
63+
for ($i = 0; $i < 10; $i++) {
6064
$findBackup = HostingSubscriptionBackup::where('id', $backupId)->first();
61-
$status = $findBackup->checkBackup();
62-
dump($status);
63-
if ($findBackup->status == BackupStatus::Completed) {
64-
$backupCompleted = true;
65-
break;
65+
if ($findBackup) {
66+
$status = $findBackup->checkBackup();
67+
if ($findBackup->status == BackupStatus::Completed) {
68+
$backupCompleted = true;
69+
break;
70+
}
6671
}
6772
sleep(1);
6873
}
@@ -106,5 +111,11 @@ private function _createHostingSubscription()
106111
$hostingSubscription->hosting_plan_id = $hostingPlan->id;
107112
$hostingSubscription->domain = 'unit-backup-test' . time() . '.com';
108113
$hostingSubscription->save();
114+
115+
return [
116+
'customerId' => $customer->id,
117+
'hostingPlanId' => $hostingPlan->id,
118+
'hostingSubscriptionId' => $hostingSubscription->id,
119+
];
109120
}
110121
}

0 commit comments

Comments
 (0)