Merge branch 'release/0.6'

This commit is contained in:
Jonny Barnes 2017-09-06 16:42:36 +01:00
commit d1b0f37f73
54 changed files with 1030 additions and 732 deletions

2
.gitignore vendored
View file

@ -7,7 +7,7 @@
/.vagrant
Homestead.yaml
Homestead.json
.npm-debug.log
npm-debug.log
yarn-error.log
.env
/public/files

View file

@ -7,6 +7,7 @@ cache:
- apt
addons:
chrome: stable
postgresql: "9.6"
apt:
sources:
@ -38,10 +39,6 @@ before_install:
- echo 'error_log = "/tmp/php.error.log"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- psql -U travis -c 'create database travis_ci_test'
- psql -U travis -d travis_ci_test -c 'create extension postgis'
- mkdir travis-phantomjs
- wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
- travis_retry composer self-update --preview
install:
@ -55,14 +52,9 @@ before_script:
- php artisan migrate
- php artisan db:seed
- php artisan token:generate
- phantomjs --webdriver=127.0.0.1:9515 --webdriver-loglevel=DEBUG &
- sleep 5 # Give artisan some time to start serving
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9515 http://localhost:8000 &
script:
- php vendor/bin/phpunit --coverage-text
- php artisan dusk
- php vendor/bin/security-checker security:check ./composer.lock --end-point=http://security.sensiolabs.org/check_lock
after_script:
- killall -9 postgresql
- killall -9 php-fpm
- killall -9 nginx

View file

@ -32,12 +32,14 @@ class Kernel extends ConsoleKernel
}
/**
* Register the Closure based commands for the application.
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}

View file

@ -4,24 +4,28 @@ namespace App\Exceptions;
use Exception;
use Illuminate\Support\Facades\Route;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Session\TokenMismatchException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
\Illuminate\Auth\AuthenticationException::class,
\Illuminate\Auth\Access\AuthorizationException::class,
\Symfony\Component\HttpKernel\Exception\HttpException::class,
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
\Illuminate\Session\TokenMismatchException::class,
\Illuminate\Validation\ValidationException::class,
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
@ -52,20 +56,4 @@ class Handler extends ExceptionHandler
return parent::render($request, $exception);
}
/**
* Convert an authentication exception into an unauthenticated response.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Auth\AuthenticationException $exception
* @return \Illuminate\Http\Response
*/
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest('login');
}
}

View file

@ -13,9 +13,9 @@ class NotesController extends Controller
{
protected $noteService;
public function __construct(NoteService $noteService = null)
public function __construct(NoteService $noteService)
{
$this->noteService = $noteService ?? new NoteService();
$this->noteService = $noteService;
}
/**

View file

@ -12,9 +12,9 @@ class PlacesController extends Controller
{
protected $placeService;
public function __construct(PlaceService $placeService = null)
public function __construct(PlaceService $placeService)
{
$this->placeService = $placeService ?? new PlaceService();
$this->placeService = $placeService;
}
/**

View file

@ -58,7 +58,7 @@ class RegisterController extends Controller
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
* @return \App\User
*/
protected function create(array $data)
{

View file

@ -19,9 +19,9 @@ class IndieAuthController extends Controller
* @param \IndieAuth\Client $client
* @return void
*/
public function __construct(Client $client = null)
public function __construct(Client $client)
{
$this->client = $client ?? new Client();
$this->client = $client;
}
/**

View file

@ -14,11 +14,11 @@ class MicropubClientController extends Controller
* Inject the dependencies.
*/
public function __construct(
IndieClient $indieClient = null,
GuzzleClient $guzzleClient = null
IndieClient $indieClient,
GuzzleClient $guzzleClient
) {
$this->guzzleClient = $guzzleClient ?? new GuzzleClient();
$this->indieClient = $indieClient ?? new IndieClient();
$this->indieClient = $indieClient;
$this->guzzleClient = $guzzleClient;
}
/**

View file

@ -34,13 +34,13 @@ class MicropubController extends Controller
* Inject the dependencies.
*/
public function __construct(
TokenService $tokenService = null,
NoteService $noteService = null,
PlaceService $placeService = null
TokenService $tokenService,
NoteService $noteService,
PlaceService $placeService
) {
$this->tokenService = $tokenService ?? new TokenService();
$this->noteService = $noteService ?? new NoteService();
$this->placeService = $placeService ?? new PlaceService();
$this->tokenService = $tokenService;
$this->noteService = $noteService;
$this->placeService = $placeService;
}
/**

View file

@ -26,11 +26,11 @@ class TokenEndpointController extends Controller
* @return void
*/
public function __construct(
Client $client = null,
TokenService $tokenService = null
Client $client,
TokenService $tokenService
) {
$this->client = $client ?? new Client();
$this->tokenService = $tokenService ?? new TokenService();
$this->client = $client;
$this->tokenService = $tokenService;
}
/**

View file

@ -18,6 +18,7 @@ class Kernel extends HttpKernel
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
/**

View file

@ -2,9 +2,9 @@
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends BaseEncrypter
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.

View file

@ -2,9 +2,9 @@
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TrimStrings as BaseTrimmer;
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
class TrimStrings extends BaseTrimmer
class TrimStrings extends Middleware
{
/**
* The names of the attributes that should not be trimmed.

View file

@ -0,0 +1,29 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies;
/**
* The current proxy header mappings.
*
* @var array
*/
protected $headers = [
Request::HEADER_FORWARDED => 'FORWARDED',
Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
];
}

View file

@ -2,9 +2,9 @@
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends BaseVerifier
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.

View file

@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
@ -13,7 +15,7 @@
|
*/
require __DIR__.'/bootstrap/autoload.php';
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';

View file

@ -1,17 +0,0 @@
<?php
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Composer Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so we do not have to manually load any of
| our application's PHP classes. It just feels great to relax.
|
*/
require __DIR__.'/../vendor/autoload.php';

View file

@ -1,5 +1,9 @@
# Changelog
## Version 0.6 (2017-09-06)
- Update laravel version to 5.5
- Improve .travis.yml and add back dusk tests
## Version 0.5.28 (2017-08-20)
- Improve Swarm checkin code to allow checkins without text
+ this required a change in the notes table schema

View file

@ -6,15 +6,16 @@
"type": "project",
"require": {
"php": ">=7.1.0",
"cviebrock/eloquent-sluggable": "^4.2",
"cviebrock/eloquent-sluggable": "~4.3",
"ezyang/htmlpurifier": "~4.6",
"fideloper/proxy": "~3.3",
"guzzlehttp/guzzle": "~6.0",
"indieauth/client": "~0.1",
"jonnybarnes/commonmark-linkify": "^0.2",
"jonnybarnes/emoji-a11y": "^0.3",
"jonnybarnes/indieweb": "dev-master",
"jonnybarnes/webmentions-parser": "0.4.*",
"laravel/framework": "5.4.*",
"laravel/framework": "5.5.*",
"laravel/scout": "^3.0",
"laravel/tinker": "^1.0",
"lcobucci/jwt": "^3.1",
@ -22,25 +23,26 @@
"league/flysystem-aws-s3-v3": "^1.0",
"mf2/mf2": "~0.3",
"phaza/laravel-postgis": "~3.1",
"pmatseykanets/laravel-scout-postgres": "^0.5.0",
"pmatseykanets/laravel-scout-postgres": "~1.0",
"predis/predis": "~1.0",
"ramsey/uuid": "^3.5",
"sensiolabs/security-checker": "^4.0",
"spatie/laravel-tinker-tools": "^1.0",
"thujohn/twitter": "~2.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "~2.0",
"barryvdh/laravel-debugbar": "~3.0",
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"laravel/dusk": "^1.0",
"laravel/dusk": "^2.0",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7",
"phpunit/phpunit": "~6.0",
"sebastian/phpcpd": "^3.0"
},
"autoload": {
"classmap": [
"database"
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
@ -54,20 +56,22 @@
"Tests\\": "tests"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
"@php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {

1269
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -10,6 +10,7 @@ return [
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => 'jonnybarnes.uk',
@ -205,41 +206,11 @@ return [
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
/*
* Laravel Debugbar
*/
Barryvdh\Debugbar\ServiceProvider::class,
/*
* Thujohns Twitter API client
*/
Thujohn\Twitter\TwitterServiceProvider::class,
/*
* Phazas Postgis library
*/
Phaza\LaravelPostgis\DatabaseServiceProvider::class,
/*
* Laravel scout
*/
Laravel\Scout\ScoutServiceProvider::class,
/*
* Postgres Engine for Scout
*/
ScoutEngines\Postgres\PostgresEngineServiceProvider::class,
/*
* Laravel Tinker
*/
Laravel\Tinker\TinkerServiceProvider::class,
/*
* Eolquent Sluggable
*/
Cviebrock\EloquentSluggable\ServiceProvider::class,
],
/*

View file

@ -122,7 +122,10 @@ return [
|
*/
'cookie' => 'laravel_session',
'cookie' => env(
'SESSION_COOKIE',
str_slug(env('APP_NAME', 'laravel'), '_').'_session'
),
/*
|--------------------------------------------------------------------------
@ -176,4 +179,19 @@ return [
'http_only' => true,
/*
|--------------------------------------------------------------------------
| Same-Site Cookies
|--------------------------------------------------------------------------
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
| do not enable this as other CSRF protection services are in place.
|
| Supported: "lax", "strict"
|
*/
'same_site' => null,
];

View file

@ -1,32 +0,0 @@
<?php
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/
/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
static $password;
return [
'name' => $faker->name,
'email' => $faker->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10),
];
});
$factory->define(App\Note::class, function (Faker\Generator $faker) {
return [
'note' => $faker->paragraph,
'tweet_id' => $faker->randomNumber(9),
'facebook_url' => 'https://facebook.com/' . $faker->randomNumber(9),
];
});

View file

@ -0,0 +1,11 @@
<?php
use Faker\Generator as Faker;
$factory->define(App\Note::class, function (Faker $faker) {
return [
'note' => $faker->paragraph,
'tweet_id' => $faker->randomNumber(9),
'facebook_url' => 'https://facebook.com/' . $faker->randomNumber(9),
];
});

View file

@ -0,0 +1,23 @@
<?php
use Faker\Generator as Faker;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| This directory should contain each of the model factory definitions for
| your application. Factories provide a convenient way to generate new
| model instances for testing / seeding your application's database.
|
*/
$factory->define(App\User::class, function (Faker $faker) {
static $password;
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10),
];
});

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/autoload.php"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"

View file

@ -7,6 +7,8 @@
* @author Taylor Otwell <taylor@laravel.com>
*/
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
@ -19,7 +21,7 @@
|
*/
require __DIR__.'/../bootstrap/autoload.php';
require __DIR__.'/../vendor/autoload.php';
/*
|--------------------------------------------------------------------------

View file

@ -1,61 +0,0 @@
<?php
namespace Tests\Browser;
use Tests\DuskTestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class ArticlesTest extends DuskTestCase
{
/**
* Test the `/blog` page.
*
* @return void
*/
public function test_articles_page()
{
$this->browse(function ($browser) {
$browser->visit('/blog')
->assertSee('My New Blog');
});
}
/**
* Test the `/blog` page with a year scoping results.
*
* @return void
*/
public function test_articles_page_with_specified_year()
{
$this->browse(function ($browser) {
$browser->visit('/blog/2016')
->assertSee('My New Blog');
});
}
/**
* Test the `/blog` page with a year and month scoping results.
*
* @return void
*/
public function test_articles_page_with_specified_year_and_month()
{
$this->browse(function ($browser) {
$browser->visit('/blog/2016/01')
->assertSee('My New Blog');
});
}
/**
* Test a single article page.
*
* @return void
*/
public function test_single_article_page()
{
$this->browse(function ($browser) {
$browser->visit('/blog/2016/01/my-new-blog')
->assertSee('My New Blog');
});
}
}

View file

@ -13,7 +13,7 @@ class ExampleTest extends DuskTestCase
*
* @return void
*/
public function testBasicExample()
public function test_basic_example()
{
$this->browse(function (Browser $browser) {
$browser->visit('/')

View file

@ -16,7 +16,7 @@ class MicropubClientTest extends DuskTestCase
{
$this->browse(function ($browser) {
$browser->visit(route('micropub-client'))
->assertSee('You are authenticated');
->assertSee('You are authenticated as');
});
}
@ -26,10 +26,10 @@ class MicropubClientTest extends DuskTestCase
$faker = \Faker\Factory::create();
$note = 'Fake note from #LaravelDusk: ' . $faker->text;
$this->browse(function ($browser) use ($note) {
$browser->visit(route('micropub-client'))
$response = $browser->visit(route('micropub-client'))
->assertSeeLink('log out')
->type('content', $note)
->press('Submit');
->type('content', $note);
$response->element('form')->submit();
});
sleep(2);
$this->assertDatabaseHas('notes', ['note' => $note]);

View file

@ -3,6 +3,7 @@
namespace Tests;
use Laravel\Dusk\TestCase as BaseTestCase;
use Facebook\WebDriver\Chrome\ChromeOptions;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
@ -18,7 +19,7 @@ abstract class DuskTestCase extends BaseTestCase
*/
public static function prepare()
{
//static::startChromeDriver();
static::startChromeDriver();
}
/**
@ -28,8 +29,18 @@ abstract class DuskTestCase extends BaseTestCase
*/
protected function driver()
{
$desiredCapabilities = DesiredCapabilities::chrome();
$options = new ChromeOptions();
$options->addArguments([
'headless',
'disable-gpu'
]);
$desiredCapabilities->setCapability(ChromeOptions::CAPABILITY, $options);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::phantomjs()
'http://localhost:9515', $desiredCapabilities
);
}
}

View file

@ -4,8 +4,6 @@ namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Http\UploadedFile;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ArticlesAdminTest extends TestCase

View file

@ -3,9 +3,6 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class BridgyPosseTest extends TestCase
{

View file

@ -3,9 +3,6 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ContactsTest extends TestCase
{

View file

@ -3,9 +3,7 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{

View file

@ -3,9 +3,6 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class FeedsTest extends TestCase
{

View file

@ -3,8 +3,6 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class IndieAuthControllerTest extends TestCase
{

View file

@ -2,17 +2,12 @@
namespace Tests\Feature;
use Mockery;
use Tests\TestCase;
use App\IndieWebUser;
use IndieAuth\Client as IndieClient;
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Client;
use GuzzleHttp\Middleware;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
use GuzzleHttp\Handler\MockHandler;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class MicropubClientControllerTest extends TestCase
@ -29,10 +24,11 @@ class MicropubClientControllerTest extends TestCase
]);
$stack = HandlerStack::create($mock);
// add the history middleware to the stack
$stack->push($history);
$guzzleClient = new GuzzleClient(['handler' => $stack]);
$client = new Client(['handler' => $stack]);
$this->app->instance(GuzzleClient::class, $guzzleClient);
app()->instance(Client::class, $client);
$response = $this->post(
'/micropub',
@ -42,8 +38,8 @@ class MicropubClientControllerTest extends TestCase
'mp-syndicate-to' => ['https://twitter.com/jonnybarnes', 'https://facebook.com/jonnybarnes'],
]
);
$expected = '{"type":["h-entry"],"properties":{"content":["Hello Fred"],"in-reply-to":["https:\/\/fredbloggs.com\/note\/abc"],"mp-syndicate-to":["https:\/\/twitter.com\/jonnybarnes","https:\/\/facebook.com\/jonnybarnes"]}}';
foreach ($container as $transaction) {
$this->assertEquals($expected, $transaction['request']->getBody()->getContents());
}

View file

@ -5,8 +5,6 @@ namespace Tests\Feature;
use Tests\TestCase;
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class MicropubControllerTest extends TestCase

View file

@ -7,8 +7,6 @@ use App\Services\NoteService;
use App\Jobs\SyndicateToTwitter;
use App\Jobs\SyndicateToFacebook;
use Illuminate\Support\Facades\Queue;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class NoteServiceTest extends TestCase

View file

@ -4,9 +4,6 @@ namespace Tests\Feature;
use App\Note;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class NotesControllerTest extends TestCase
{

View file

@ -5,8 +5,6 @@ namespace Tests\Feature;
use Tests\TestCase;
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class OwnYourGramTest extends TestCase

View file

@ -3,9 +3,6 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class PlacesTest extends TestCase
{

View file

@ -5,8 +5,6 @@ namespace Tests\Feature;
use Tests\TestCase;
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class SwarmTest extends TestCase

View file

@ -5,9 +5,6 @@ namespace Tests\Feature;
use Mockery;
use Tests\TestCase;
use IndieAuth\Client;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class TokenEndpointTest extends TestCase
{

View file

@ -3,9 +3,7 @@
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Services\TokenService;
class TokenServiceTest extends TestCase
{
@ -17,7 +15,7 @@ class TokenServiceTest extends TestCase
*/
public function test_token_creation_and_validation()
{
$tokenService = new \App\Services\TokenService();
$tokenService = new TokenService();
$data = [
'me' => 'https://example.org',
'client_id' => 'https://quill.p3k.io',

View file

@ -5,9 +5,6 @@ namespace Tests\Feature;
use Tests\TestCase;
use App\Jobs\ProcessWebMention;
use Illuminate\Support\Facades\Queue;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class WebMentionsControllerTest extends TestCase
{

View file

@ -3,8 +3,7 @@
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{

View file

@ -3,8 +3,6 @@
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class HelpersTest extends TestCase
{

View file

@ -3,8 +3,7 @@
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Services\IndieAuthService;
class IndieAuthServiceTest extends TestCase
{
@ -15,7 +14,7 @@ class IndieAuthServiceTest extends TestCase
*/
public function test_indieauthservice_getauthorizationendpoint_method()
{
$service = new \App\Services\IndieAuthService();
$service = new IndieAuthService();
$result = $service->getAuthorizationEndpoint(config('app.url'));
$this->assertEquals('https://indieauth.com/auth', $result);
}
@ -27,7 +26,7 @@ class IndieAuthServiceTest extends TestCase
*/
public function test_indieauthservice_getauthorizationendpoint_method_returns_null_on_failure()
{
$service = new \App\Services\IndieAuthService();
$service = new IndieAuthService();
$result = $service->getAuthorizationEndpoint('http://example.org');
$this->assertEquals(null, $result);
}
@ -39,7 +38,7 @@ class IndieAuthServiceTest extends TestCase
*/
public function test_indieauthservice_builds_correct_redirect_url()
{
$service = new \App\Services\IndieAuthService();
$service = new IndieAuthService();
$result = $service->buildAuthorizationURL(
'https://indieauth.com/auth',
config('app.url')
@ -57,7 +56,7 @@ class IndieAuthServiceTest extends TestCase
*/
public function test_indieauthservice_gettokenendpoint_method()
{
$service = new \App\Services\IndieAuthService();
$service = new IndieAuthService();
$result = $service->getTokenEndpoint(config('app.url'));
$this->assertEquals(config('app.url') . '/api/token', $result);
}
@ -69,7 +68,7 @@ class IndieAuthServiceTest extends TestCase
*/
public function test_indieauthservice_discovermicropubendpoint_method()
{
$service = new \App\Services\IndieAuthService();
$service = new IndieAuthService();
$result = $service->discoverMicropubEndpoint(config('app.url'));
$this->assertEquals(config('app.url') . '/api/post', $result);
}

View file

@ -4,8 +4,6 @@ namespace Tests\Unit;
use App\Note;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class NotesTest extends TestCase
{

View file

@ -5,8 +5,6 @@ namespace Tests\Unit;
use App\Place;
use Tests\TestCase;
use Phaza\LaravelPostgis\Geometries\Point;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class PlacesTest extends TestCase
{

View file

@ -5,8 +5,6 @@ namespace Tests\Unit;
use Cache;
use App\WebMention;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class WebMentionTest extends TestCase
{