mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Update syslog display backend select boxes now dynamically load instead of loading all on pageload select and table ajax backends completely redone with Laravel (just syslog for now) duplicate url creation to Url utility class for now (uses Device model instead of array) build short hostname functionality into Device->displayName() helper * Fix whitespace * Some tidying up. Split out displayName() and shortDisplayName() * Enable auto-sizing. Fix small error in Url * Eager load device Use bootstrap theme for select2
101 lines
3.9 KiB
PHP
101 lines
3.9 KiB
PHP
<?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 */
|
|
|
|
use Carbon\Carbon;
|
|
use LibreNMS\Util\IPv4;
|
|
|
|
$factory->define(App\User::class, function (Faker\Generator $faker) {
|
|
static $password;
|
|
|
|
return [
|
|
'name' => $faker->name,
|
|
'email' => $faker->unique()->safeEmail,
|
|
'password' => $password ?: $password = bcrypt('secret'),
|
|
'remember_token' => str_random(10),
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\Device::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'hostname' => $faker->domainWord.'.'.$faker->domainName,
|
|
'ip' => $faker->randomElement([$faker->ipv4, $faker->ipv6]),
|
|
'status' => $status = random_int(0, 1),
|
|
'status_reason' => $status == 0 ? $faker->randomElement(['snmp', 'icmp']) : '', // allow invalid states?
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\Port::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'ifIndex' => $faker->unique()->numberBetween(),
|
|
'ifName' => $faker->text(20),
|
|
'ifLastChange' => $faker->unixTime(),
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\BgpPeer::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'bgpPeerIdentifier' => $faker->ipv4,
|
|
'bgpLocalAddr' => $faker->ipv4,
|
|
'bgpPeerRemoteAddr' => $faker->ipv4,
|
|
'bgpPeerRemoteAs' => $faker->numberBetween(1, 65535),
|
|
'bgpPeerState' => $faker->randomElement(['established', 'idle']),
|
|
'astext' => $faker->sentence(),
|
|
'bgpPeerAdminStatus' => $faker->randomElement(['start', 'stop']),
|
|
'bgpPeerInUpdates' => $faker->randomDigit,
|
|
'bgpPeerOutUpdates' => $faker->randomDigit,
|
|
'bgpPeerInTotalMessages' => $faker->randomDigit,
|
|
'bgpPeerOutTotalMessages' => $faker->randomDigit,
|
|
'bgpPeerFsmEstablishedTime' => $faker->unixTime,
|
|
'bgpPeerInUpdateElapsedTime' => $faker->unixTime,
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\Ipv4Address::class, function (Faker\Generator $faker) {
|
|
$prefix = $faker->numberBetween(0, 32);
|
|
$ip = new IPv4($faker->ipv4 . '/' . $prefix);
|
|
|
|
return [
|
|
'ipv4_address' => $ip->uncompressed(),
|
|
'ipv4_prefixlen' => $prefix,
|
|
'port_id' => function () {
|
|
return factory(\App\Models\Port::class)->create()->port_id;
|
|
},
|
|
'ipv4_network_id' => function () use ($ip) {
|
|
return factory(\App\Models\Ipv4Network::class)->create(['ipv4_network' => $ip->getNetworkAddress() . '/' . $ip->cidr])->ipv4_network_id;
|
|
},
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\Ipv4Network::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'ipv4_network' => $faker->ipv4 . '/' . $faker->numberBetween(0, 32),
|
|
];
|
|
});
|
|
|
|
$factory->define(\App\Models\Syslog::class, function (Faker\Generator $faker) {
|
|
$facilities = ['kern', 'user', 'mail', 'daemon', 'auth', 'syslog', 'lpr', 'news', 'uucp', 'cron', 'authpriv', 'ftp', 'ntp', 'security', 'console', 'solaris-cron', 'local0', 'local1', 'local2', 'local3', 'local4', 'local5', 'local6', 'local7'];
|
|
$levels = ['emerg', 'alert', 'crit', 'err', 'warning', 'notice', 'info', 'debug'];
|
|
|
|
return [
|
|
'facility' => $faker->randomElement($facilities),
|
|
'priority' => $faker->randomElement($levels),
|
|
'level' => $faker->randomElement($levels),
|
|
'tag' => $faker->asciify(str_repeat('*', $faker->numberBetween(0, 10))),
|
|
'timestamp' => Carbon::now(),
|
|
'program' => $faker->asciify(str_repeat('*', $faker->numberBetween(0, 32))),
|
|
'msg' => $faker->text(),
|
|
];
|
|
});
|