Skip to content

Commit 4d49a05

Browse files
committed
(feat): Expand protocol support to 25
1 parent a8e43ea commit 4d49a05

2 files changed

Lines changed: 67 additions & 1 deletion

File tree

src/Protocol.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,26 @@ enum Protocol: string
1010
case PostgreSQL = 'postgresql';
1111
case MySQL = 'mysql';
1212
case MongoDB = 'mongodb';
13+
case Redis = 'redis';
14+
case Memcached = 'memcached';
15+
case Kafka = 'kafka';
16+
case AMQP = 'amqp';
17+
case ClickHouse = 'clickhouse';
18+
case Cassandra = 'cassandra';
19+
case NATS = 'nats';
20+
case MSSQL = 'mssql';
21+
case Oracle = 'oracle';
22+
case Elasticsearch = 'elasticsearch';
23+
case MQTT = 'mqtt';
24+
case GRPC = 'grpc';
25+
case ZooKeeper = 'zookeeper';
26+
case Etcd = 'etcd';
27+
case Neo4j = 'neo4j';
28+
case Couchbase = 'couchbase';
29+
case CockroachDB = 'cockroachdb';
30+
case TiDB = 'tidb';
31+
case Pulsar = 'pulsar';
32+
case FTP = 'ftp';
33+
case LDAP = 'ldap';
34+
case RethinkDB = 'rethinkdb';
1335
}

tests/ProtocolTest.php

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,34 @@ public function testAllProtocolValues(): void
1515
$this->assertSame('postgresql', Protocol::PostgreSQL->value);
1616
$this->assertSame('mysql', Protocol::MySQL->value);
1717
$this->assertSame('mongodb', Protocol::MongoDB->value);
18+
$this->assertSame('redis', Protocol::Redis->value);
19+
$this->assertSame('memcached', Protocol::Memcached->value);
20+
$this->assertSame('kafka', Protocol::Kafka->value);
21+
$this->assertSame('amqp', Protocol::AMQP->value);
22+
$this->assertSame('clickhouse', Protocol::ClickHouse->value);
23+
$this->assertSame('cassandra', Protocol::Cassandra->value);
24+
$this->assertSame('nats', Protocol::NATS->value);
25+
$this->assertSame('mssql', Protocol::MSSQL->value);
26+
$this->assertSame('oracle', Protocol::Oracle->value);
27+
$this->assertSame('elasticsearch', Protocol::Elasticsearch->value);
28+
$this->assertSame('mqtt', Protocol::MQTT->value);
29+
$this->assertSame('grpc', Protocol::GRPC->value);
30+
$this->assertSame('zookeeper', Protocol::ZooKeeper->value);
31+
$this->assertSame('etcd', Protocol::Etcd->value);
32+
$this->assertSame('neo4j', Protocol::Neo4j->value);
33+
$this->assertSame('couchbase', Protocol::Couchbase->value);
34+
$this->assertSame('cockroachdb', Protocol::CockroachDB->value);
35+
$this->assertSame('tidb', Protocol::TiDB->value);
36+
$this->assertSame('pulsar', Protocol::Pulsar->value);
37+
$this->assertSame('ftp', Protocol::FTP->value);
38+
$this->assertSame('ldap', Protocol::LDAP->value);
39+
$this->assertSame('rethinkdb', Protocol::RethinkDB->value);
1840
}
1941

2042
public function testProtocolCount(): void
2143
{
2244
$cases = Protocol::cases();
23-
$this->assertCount(6, $cases);
45+
$this->assertCount(28, $cases);
2446
}
2547

2648
public function testProtocolFromValue(): void
@@ -31,6 +53,28 @@ public function testProtocolFromValue(): void
3153
$this->assertSame(Protocol::PostgreSQL, Protocol::from('postgresql'));
3254
$this->assertSame(Protocol::MySQL, Protocol::from('mysql'));
3355
$this->assertSame(Protocol::MongoDB, Protocol::from('mongodb'));
56+
$this->assertSame(Protocol::Redis, Protocol::from('redis'));
57+
$this->assertSame(Protocol::Memcached, Protocol::from('memcached'));
58+
$this->assertSame(Protocol::Kafka, Protocol::from('kafka'));
59+
$this->assertSame(Protocol::AMQP, Protocol::from('amqp'));
60+
$this->assertSame(Protocol::ClickHouse, Protocol::from('clickhouse'));
61+
$this->assertSame(Protocol::Cassandra, Protocol::from('cassandra'));
62+
$this->assertSame(Protocol::NATS, Protocol::from('nats'));
63+
$this->assertSame(Protocol::MSSQL, Protocol::from('mssql'));
64+
$this->assertSame(Protocol::Oracle, Protocol::from('oracle'));
65+
$this->assertSame(Protocol::Elasticsearch, Protocol::from('elasticsearch'));
66+
$this->assertSame(Protocol::MQTT, Protocol::from('mqtt'));
67+
$this->assertSame(Protocol::GRPC, Protocol::from('grpc'));
68+
$this->assertSame(Protocol::ZooKeeper, Protocol::from('zookeeper'));
69+
$this->assertSame(Protocol::Etcd, Protocol::from('etcd'));
70+
$this->assertSame(Protocol::Neo4j, Protocol::from('neo4j'));
71+
$this->assertSame(Protocol::Couchbase, Protocol::from('couchbase'));
72+
$this->assertSame(Protocol::CockroachDB, Protocol::from('cockroachdb'));
73+
$this->assertSame(Protocol::TiDB, Protocol::from('tidb'));
74+
$this->assertSame(Protocol::Pulsar, Protocol::from('pulsar'));
75+
$this->assertSame(Protocol::FTP, Protocol::from('ftp'));
76+
$this->assertSame(Protocol::LDAP, Protocol::from('ldap'));
77+
$this->assertSame(Protocol::RethinkDB, Protocol::from('rethinkdb'));
3478
}
3579

3680
public function testProtocolTryFromInvalidReturnsNull(): void

0 commit comments

Comments
 (0)