Newer
Older
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
public function testClassInstance()
{
$class = Server::class;
$server = new $class;
$this->assertEquals("App\Server", get_class($server));
}
$user = new User();
$user->name = "test";
$user->email = "test@example.com";
$user->password = "abc123";
$user->save();
$organization = new Organization();
$organization->name = "Org";
$organization->save();
$organization->users()->save($user);
$this->assertEquals(
"Org",
$user->organizations()->first()->name
);
$organization = new Organization();
$organization->name = "ACME";
$organization->save();
$server->name = "My test server";
$server->organization()->associate($organization);
$server->save();
$server_id = $server->id;
$record = new Record();
$record->server_id = $server_id;
$record->time = time();
$record->data = array();
$record->save();
$record_id = $record->id;
$user = new User();
$user->name = "Test";
$user->email = "thibault.debatty@gmail.com";
$user->password = "qmlskdj";
$user->save();
$organization->users()->attach($user->id);
// Insert a fake status change
$change = new \App\StatusChange();
$change->save();
// Check if a new StatusChange was correctly saved
$last_change = $server->lastChange();
// Run change detection
$change_detection_job = new \App\Jobs\StatusChangeDetection();
$change_detection_job->detectChangeForServer($server);
// Insert multiple status changes to simulate bouncing
for ($i = 0; $i < 4; $i++) {
$change = new \App\StatusChange();
$change->status = 155;
$change->server_id = $server_id;
$change->time = time() + $i;
$change->record_id = $record_id;
$change->save();
// Run change detection
$change_detection_job = new \App\Jobs\StatusChangeDetection();
$change_detection_job->detectChangeForServer($server);
}