(t *testing.T)
| 1445 | } |
| 1446 | |
| 1447 | func TestControlSubject(t *testing.T) { |
| 1448 | tests := []struct { |
| 1449 | name string |
| 1450 | verb micro.Verb |
| 1451 | srvName string |
| 1452 | id string |
| 1453 | expectedSubject string |
| 1454 | withError error |
| 1455 | }{ |
| 1456 | { |
| 1457 | name: "PING ALL", |
| 1458 | verb: micro.PingVerb, |
| 1459 | expectedSubject: "$SRV.PING", |
| 1460 | }, |
| 1461 | { |
| 1462 | name: "PING name", |
| 1463 | verb: micro.PingVerb, |
| 1464 | srvName: "test", |
| 1465 | expectedSubject: "$SRV.PING.test", |
| 1466 | }, |
| 1467 | { |
| 1468 | name: "PING id", |
| 1469 | verb: micro.PingVerb, |
| 1470 | srvName: "test", |
| 1471 | id: "123", |
| 1472 | expectedSubject: "$SRV.PING.test.123", |
| 1473 | }, |
| 1474 | { |
| 1475 | name: "invalid verb", |
| 1476 | verb: micro.Verb(100), |
| 1477 | withError: micro.ErrVerbNotSupported, |
| 1478 | }, |
| 1479 | { |
| 1480 | name: "name not provided", |
| 1481 | verb: micro.PingVerb, |
| 1482 | srvName: "", |
| 1483 | id: "123", |
| 1484 | withError: micro.ErrServiceNameRequired, |
| 1485 | }, |
| 1486 | } |
| 1487 | |
| 1488 | for _, test := range tests { |
| 1489 | t.Run(test.name, func(t *testing.T) { |
| 1490 | res, err := micro.ControlSubject(test.verb, test.srvName, test.id) |
| 1491 | if test.withError != nil { |
| 1492 | if !errors.Is(err, test.withError) { |
| 1493 | t.Fatalf("Expected error: %v; got: %v", test.withError, err) |
| 1494 | } |
| 1495 | return |
| 1496 | } |
| 1497 | if err != nil { |
| 1498 | t.Errorf("Unexpected error: %v", err) |
| 1499 | } |
| 1500 | if res != test.expectedSubject { |
| 1501 | t.Errorf("Invalid subject; want: %q; got: %q", test.expectedSubject, res) |
| 1502 | } |
| 1503 | }) |
| 1504 | } |
nothing calls this directly
no test coverage detected