it_use_user_token_in_public_api_request test

This commit is contained in:
Peter Papp
2021-07-16 09:26:07 +02:00
parent 8ac41837b2
commit 36cea4853f
20 changed files with 49 additions and 122 deletions
@@ -119,7 +119,9 @@ class LanguageController extends Controller
// Abort in demo mode // Abort in demo mode
abort_if(is_demo(), 204, 'Done.'); abort_if(is_demo(), 204, 'Done.');
abort_if($language->locale === 'en', 401, "Sorry, you can't delete default language."); if ($language->locale === 'en') {
return response("Sorry, you can't delete default language.", 401);
}
// If user try to delete language used as default, // If user try to delete language used as default,
// then set en language as default // then set en language as default
@@ -1,6 +1,7 @@
<?php <?php
namespace App\Http\Controllers\App; namespace App\Http\Controllers\App;
use Illuminate\Http\Response;
use Schema; use Schema;
use Stripe; use Stripe;
use Artisan; use Artisan;
@@ -460,8 +461,6 @@ class SetupWizardController extends Controller
/** /**
* Get setup wizard status * Get setup wizard status
*
* @return false | null
*/ */
private function check_setup_status() private function check_setup_status()
{ {
@@ -81,7 +81,7 @@ class BrowseShareController extends Controller
->cookie('share_session', $cookie, 43200); ->cookie('share_session', $cookie, 43200);
} }
abort(401, __t('incorrect_password')); return response(__t('incorrect_password'), 401);
} }
/** /**
@@ -1,4 +1,5 @@
<?php <?php
namespace App\Http\Requests\FileFunctions; namespace App\Http\Requests\FileFunctions;
use App\Rules\DisabledMimetypes; use App\Rules\DisabledMimetypes;
@@ -24,9 +25,10 @@ class UploadRequest extends FormRequest
public function rules() public function rules()
{ {
return [ return [
'filename' => 'required|string', 'filename' => 'required|string',
'folder_id' => 'nullable|uuid', 'folder_id' => 'nullable|uuid',
'file' => ['required', 'file', new DisabledMimetypes], 'is_last' => 'sometimes|boolean',
'file' => ['required', 'file', new DisabledMimetypes],
]; ];
} }
} }
-1
View File
@@ -343,7 +343,6 @@ class FileManagerService
$file = $request->file('file'); $file = $request->file('file');
// File name // File name
$user_file_name = basename('chunks/' . substr($file->getClientOriginalName(), 17), '.part');
$disk_file_name = basename('chunks/' . $file->getClientOriginalName(), '.part'); $disk_file_name = basename('chunks/' . $file->getClientOriginalName(), '.part');
$temp_filename = $file->getClientOriginalName(); $temp_filename = $file->getClientOriginalName();
-4
View File
@@ -43,8 +43,6 @@ class AuthTest extends TestCase
*/ */
public function it_register_user() public function it_register_user()
{ {
Notification::fake();
collect([ collect([
[ [
'name' => 'storage_default', 'name' => 'storage_default',
@@ -144,8 +142,6 @@ class AuthTest extends TestCase
*/ */
public function it_send_reset_link_to_email() public function it_send_reset_link_to_email()
{ {
Notification::fake();
$user = User::factory(User::class) $user = User::factory(User::class)
->create(['email' => 'john@doe.com']); ->create(['email' => 'john@doe.com']);
+35 -39
View File
@@ -2,6 +2,7 @@
namespace Tests\Feature\Accounts; namespace Tests\Feature\Accounts;
use App\Models\File;
use App\Models\User; use App\Models\User;
use App\Services\SetupService; use App\Services\SetupService;
use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseMigrations;
@@ -70,8 +71,6 @@ class UserAccountTest extends TestCase
*/ */
public function it_update_user_avatar() public function it_update_user_avatar()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -130,7 +129,7 @@ class UserAccountTest extends TestCase
"id" => (string)$user->id, "id" => (string)$user->id,
"type" => "settings", "type" => "settings",
"attributes" => [ "attributes" => [
'avatar' => $user->settings->avatar, 'avatar' => $user->settings->avatar,
'name' => $user->settings->name, 'name' => $user->settings->name,
'address' => $user->settings->address, 'address' => $user->settings->address,
'state' => $user->settings->state, 'state' => $user->settings->state,
@@ -138,7 +137,7 @@ class UserAccountTest extends TestCase
'postal_code' => $user->settings->postal_code, 'postal_code' => $user->settings->postal_code,
'country' => $user->settings->country, 'country' => $user->settings->country,
'phone_number' => $user->settings->phone_number, 'phone_number' => $user->settings->phone_number,
'timezone' => $user->settings->timezone 'timezone' => $user->settings->timezone
] ]
] ]
], ],
@@ -156,7 +155,7 @@ class UserAccountTest extends TestCase
]); ]);
} }
/** /**
* @test * @test
*/ */
public function it_create_user_token() public function it_create_user_token()
@@ -172,11 +171,11 @@ class UserAccountTest extends TestCase
$this->assertDatabaseHas('personal_access_tokens', [ $this->assertDatabaseHas('personal_access_tokens', [
'tokenable_id' => $user->id, 'tokenable_id' => $user->id,
'name' => 'token' 'name' => 'token'
]); ]);
} }
/** /**
* @test * @test
*/ */
public function it_revoke_user_token() public function it_revoke_user_token()
@@ -185,7 +184,7 @@ class UserAccountTest extends TestCase
->create(); ->create();
Sanctum::actingAs($user); Sanctum::actingAs($user);
$user->createToken('token'); $user->createToken('token');
$token_id = $user->tokens()->first()->id; $token_id = $user->tokens()->first()->id;
@@ -206,18 +205,18 @@ class UserAccountTest extends TestCase
$user = User::factory(User::class) $user = User::factory(User::class)
->create(); ->create();
Sanctum::actingAs($user);
$user->createToken('token'); $user->createToken('token');
$token = $user->tokens()->first(); $token = $user->tokens()->first();
$this->getJson('/api/user/tokens') $this
->actingAs($user)
->getJson('/api/user/tokens')
->assertStatus(200) ->assertStatus(200)
->assertJsonFragment([ ->assertJsonFragment([
"id" => $token->id, "id" => $token->id,
"tokenable_type" => $token->tokenable_type, "tokenable_type" => $token->tokenable_type,
"tokenable_id" => $user->id, "tokenable_id" => $user->id,
"name" => $token->name, "name" => $token->name,
"abilities" => $token->abilities "abilities" => $token->abilities
]); ]);
@@ -226,16 +225,22 @@ class UserAccountTest extends TestCase
/** /**
* @test * @test
*/ */
public function it_use_user_token_to_request() public function it_use_user_token_in_public_api_request()
{ {
$user = User::factory(User::class) $user = User::factory(User::class)
->create(); ->create();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
->create([ ->create([
'user_id' => $user->id, 'user_id' => $user->id,
]); ]);
$file = File::factory(File::class)
->create([
'user_id' => $user->id,
'folder_id' => $folder->id
]);
$token = $user->createToken('token')->plainTextToken; $token = $user->createToken('token')->plainTextToken;
$this->assertDatabaseHas('personal_access_tokens', [ $this->assertDatabaseHas('personal_access_tokens', [
@@ -243,24 +248,17 @@ class UserAccountTest extends TestCase
]); ]);
$this->assertDatabaseHas('folders', [ $this->assertDatabaseHas('folders', [
'id' => $folder->id, 'id' => $folder->id,
'user_id' => $user->id 'user_id' => $user->id
]); ]);
$response = $this->call('GET', "api/browse/folders/$folder->id", $this
[], [], [], [ ->withToken($token)
'Content-type' => 'application/json', ->getJson("/api/browse/folders/$folder->id")
'Accept' => 'application/json', ->assertOk()
'Authorization' => 'Bearer ' .$token, ->assertJsonFragment([
'id' => $file->id,
]); ]);
// $response->assertJsonFragment([
// 'id' => $folder->id,
// 'user_id' => $user->id,
// ]);
// dd($response);
} }
/** /**
@@ -278,7 +276,7 @@ class UserAccountTest extends TestCase
now()->addMinutes(60), now()->addMinutes(60),
['id' => $user->id, 'hash' => sha1($user->email)] ['id' => $user->id, 'hash' => sha1($user->email)]
); );
$this $this
->getJson($verificationUrl) ->getJson($verificationUrl)
->assertRedirect('successfully-verified'); ->assertRedirect('successfully-verified');
@@ -291,18 +289,16 @@ class UserAccountTest extends TestCase
*/ */
public function it_resend_user_verify_email() public function it_resend_user_verify_email()
{ {
Notification::fake();
$user = User::factory(User::class) $user = User::factory(User::class)
->create([ ->create([
'email_verified_at' => null 'email_verified_at' => null
]); ]);
$this->postJson('/api/user/email/resend/verify', [ $this->postJson('/api/user/email/resend/verify', [
'email' => $user->email, 'email' => $user->email,
]) ])
->assertStatus(200); ->assertStatus(204);
Notification::assertTimesSent(1, VerifyEmail::class); Notification::assertTimesSent(1, VerifyEmail::class);
} }
} }
-8
View File
@@ -216,8 +216,6 @@ class AdminTest extends TestCase
*/ */
public function it_send_reset_password_for_user() public function it_send_reset_password_for_user()
{ {
Notification::fake();
$user = User::factory(User::class) $user = User::factory(User::class)
->create(['role' => 'user']); ->create(['role' => 'user']);
@@ -284,8 +282,6 @@ class AdminTest extends TestCase
*/ */
public function it_create_new_user_with_avatar() public function it_create_new_user_with_avatar()
{ {
Storage::fake('local');
$admin = User::factory(User::class) $admin = User::factory(User::class)
->create(['role' => 'admin']); ->create(['role' => 'admin']);
@@ -326,8 +322,6 @@ class AdminTest extends TestCase
*/ */
public function it_delete_user_with_all_data() public function it_delete_user_with_all_data()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
// Create and login user // Create and login user
@@ -549,8 +543,6 @@ class AdminTest extends TestCase
*/ */
public function it_update_settings_image() public function it_update_settings_image()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
Setting::forceCreate([ Setting::forceCreate([
-4
View File
@@ -46,8 +46,6 @@ class SchedulerTest extends TestCase
*/ */
public function it_delete_zips_older_than_one_day() public function it_delete_zips_older_than_one_day()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$file = UploadedFile::fake() $file = UploadedFile::fake()
@@ -75,8 +73,6 @@ class SchedulerTest extends TestCase
*/ */
public function it_delete_failed_files_older_than_one_day() public function it_delete_failed_files_older_than_one_day()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$this->travel(-26)->hours(); $this->travel(-26)->hours();
@@ -30,8 +30,6 @@ class ContentAccessTest extends TestCase
*/ */
public function it_get_public_user_avatar() public function it_get_public_user_avatar()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$avatar = UploadedFile::fake() $avatar = UploadedFile::fake()
@@ -50,8 +48,6 @@ class ContentAccessTest extends TestCase
*/ */
public function it_get_public_system_image() public function it_get_public_system_image()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$system = UploadedFile::fake() $system = UploadedFile::fake()
@@ -70,8 +66,6 @@ class ContentAccessTest extends TestCase
*/ */
public function it_get_private_user_file() public function it_get_private_user_file()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -100,8 +94,6 @@ class ContentAccessTest extends TestCase
*/ */
public function it_get_private_user_image_thumbnail() public function it_get_private_user_image_thumbnail()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -130,8 +122,6 @@ class ContentAccessTest extends TestCase
*/ */
public function it_get_private_user_zip() public function it_get_private_user_zip()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -158,8 +148,6 @@ class ContentAccessTest extends TestCase
*/ */
public function logged_user_try_to_get_another_private_user_image_thumbnail() public function logged_user_try_to_get_another_private_user_image_thumbnail()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$users = User::factory(User::class) $users = User::factory(User::class)
@@ -189,8 +177,6 @@ class ContentAccessTest extends TestCase
*/ */
public function logged_user_try_to_get_another_private_user_file() public function logged_user_try_to_get_another_private_user_file()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$users = User::factory(User::class) $users = User::factory(User::class)
@@ -220,8 +206,6 @@ class ContentAccessTest extends TestCase
*/ */
public function logged_user_try_to_get_another_private_user_zip() public function logged_user_try_to_get_another_private_user_zip()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -278,6 +262,6 @@ class ContentAccessTest extends TestCase
->create(); ->create();
$this->getJson("/api/browse/folders/$folder->id") $this->getJson("/api/browse/folders/$folder->id")
->assertStatus(401); ->assertUnauthorized();
} }
} }
-10
View File
@@ -42,8 +42,6 @@ class FileTest extends TestCase
*/ */
public function it_upload_image_file_and_create_thumbnail() public function it_upload_image_file_and_create_thumbnail()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$file = UploadedFile::fake() $file = UploadedFile::fake()
@@ -85,8 +83,6 @@ class FileTest extends TestCase
*/ */
public function it_upload_new_file() public function it_upload_new_file()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$file = UploadedFile::fake() $file = UploadedFile::fake()
@@ -124,8 +120,6 @@ class FileTest extends TestCase
*/ */
public function it_upload_blacklisted_mimetype_file() public function it_upload_blacklisted_mimetype_file()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
Setting::create([ Setting::create([
@@ -252,8 +246,6 @@ class FileTest extends TestCase
*/ */
public function it_delete_multiple_files_hardly() public function it_delete_multiple_files_hardly()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -311,8 +303,6 @@ class FileTest extends TestCase
*/ */
public function it_zip_multiple_files_and_download_it() public function it_zip_multiple_files_and_download_it()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
-4
View File
@@ -388,8 +388,6 @@ class FolderTest extends TestCase
*/ */
public function it_delete_folder_with_their_content_within_hardly() public function it_delete_folder_with_their_content_within_hardly()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
@@ -463,8 +461,6 @@ class FolderTest extends TestCase
*/ */
public function it_zip_folder_with_content_within_and_download() public function it_zip_folder_with_content_within_and_download()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
-2
View File
@@ -71,8 +71,6 @@ class TrashTest extends TestCase
*/ */
public function it_dump_trash() public function it_dump_trash()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
$user = User::factory(User::class) $user = User::factory(User::class)
-2
View File
@@ -25,8 +25,6 @@ class SetupServiceTest extends TestCase
*/ */
public function it_create_system_folders() public function it_create_system_folders()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
collect(['avatars', 'chunks', 'system', 'files', 'temp', 'zip']) collect(['avatars', 'chunks', 'system', 'files', 'temp', 'zip'])
-4
View File
@@ -159,8 +159,6 @@ class SetupWizardTest extends TestCase
*/ */
public function it_store_app_settings() public function it_store_app_settings()
{ {
Storage::fake('local');
$this->postJson('/api/setup/app-setup', [ $this->postJson('/api/setup/app-setup', [
'title' => 'VueFileManager', 'title' => 'VueFileManager',
'description' => 'The best file manager on the internet', 'description' => 'The best file manager on the internet',
@@ -215,8 +213,6 @@ class SetupWizardTest extends TestCase
*/ */
public function it_create_admin_account() public function it_create_admin_account()
{ {
Storage::fake('local');
$this->postJson('/admin-setup', [ $this->postJson('/admin-setup', [
'email' => 'john@doe.com', 'email' => 'john@doe.com',
'password' => 'VerySecretPassword', 'password' => 'VerySecretPassword',
-4
View File
@@ -151,8 +151,6 @@ class UserShareTest extends TestCase
*/ */
public function it_share_folder_and_send_link_for_multiple_email() public function it_share_folder_and_send_link_for_multiple_email()
{ {
Notification::fake();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
->create(); ->create();
@@ -179,8 +177,6 @@ class UserShareTest extends TestCase
*/ */
public function it_send_existing_shared_folder_for_multiple_email_once_again() public function it_send_existing_shared_folder_for_multiple_email_once_again()
{ {
Notification::fake();
$folder = Folder::factory(Folder::class) $folder = Folder::factory(Folder::class)
->create(); ->create();
@@ -31,8 +31,6 @@ class VisitorAccessToItemsTest extends TestCase
*/ */
public function it_download_file() public function it_download_file()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
collect([true, false]) collect([true, false])
@@ -108,8 +106,6 @@ class VisitorAccessToItemsTest extends TestCase
*/ */
public function it_get_shared_image() public function it_get_shared_image()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
collect([true, false]) collect([true, false])
@@ -167,8 +163,6 @@ class VisitorAccessToItemsTest extends TestCase
*/ */
public function it_get_public_thumbnail() public function it_get_public_thumbnail()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
collect([true, false]) collect([true, false])
@@ -229,8 +223,6 @@ class VisitorAccessToItemsTest extends TestCase
*/ */
public function it_download_publicly_zipped_files() public function it_download_publicly_zipped_files()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
collect([true, false]) collect([true, false])
@@ -146,8 +146,6 @@ class VisitorBrowseTest extends TestCase
*/ */
public function visitor_zip_shared_multiple_files() public function visitor_zip_shared_multiple_files()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
// check private or public share record // check private or public share record
@@ -284,8 +282,6 @@ class VisitorBrowseTest extends TestCase
*/ */
public function visitor_zip_shared_folder() public function visitor_zip_shared_folder()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
// check private or public share record // check private or public share record
@@ -369,8 +365,6 @@ class VisitorBrowseTest extends TestCase
*/ */
public function visitor_try_zip_not_shared_folder() public function visitor_try_zip_not_shared_folder()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
// check private or public share record // check private or public share record
@@ -313,8 +313,6 @@ class VisitorManipulatingTest extends TestCase
*/ */
public function editor_upload_file_into_shared_folder() public function editor_upload_file_into_shared_folder()
{ {
Storage::fake('local');
$this->setup->create_directories(); $this->setup->create_directories();
// check private or public share record // check private or public share record
@@ -353,6 +351,7 @@ class VisitorManipulatingTest extends TestCase
$this $this
->withUnencryptedCookies($cookie) ->withUnencryptedCookies($cookie)
->post("/api/editor/upload/$share->token", [ ->post("/api/editor/upload/$share->token", [
'filename' => $file->name,
'file' => $file, 'file' => $file,
'folder_id' => $folder->id, 'folder_id' => $folder->id,
'is_last' => true, 'is_last' => true,
@@ -363,6 +362,7 @@ class VisitorManipulatingTest extends TestCase
if (!$is_protected) { if (!$is_protected) {
$this->postJson("/api/editor/upload/$share->token", [ $this->postJson("/api/editor/upload/$share->token", [
'filename' => $file->name,
'file' => $file, 'file' => $file,
'folder_id' => $folder->id, 'folder_id' => $folder->id,
'is_last' => true, 'is_last' => true,
+2 -1
View File
@@ -5,6 +5,7 @@ namespace Tests;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase; use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Notification;
use Illuminate\Support\Facades\Storage;
abstract class TestCase extends BaseTestCase abstract class TestCase extends BaseTestCase
{ {
@@ -18,6 +19,6 @@ abstract class TestCase extends BaseTestCase
Notification::fake(); Notification::fake();
$this->withoutExceptionHandling(); Storage::fake('local');
} }
} }