Skip to content

Commit

Permalink
Merge pull request #1266 from donavanbecker/master
Browse files Browse the repository at this point in the history
add avahi Advertiser to UI
  • Loading branch information
oznu authored Jan 17, 2022
2 parents 80805d6 + 8231c7e commit cbfc3a7
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/core/config/config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export interface HomebridgeConfig {
pin: string;
name: string;
port: number;
advertiser?: 'ciao' | 'bonjour-hap';
advertiser?: 'avahi' | 'ciao' | 'bonjour-hap';
bind?: string | string[];
};
mdns?: {
Expand Down
4 changes: 2 additions & 2 deletions src/modules/server/server.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export class HomebridgeNetworkInterfacesDto {
export class HomebridgeMdnsSettingDto {
@IsString()
@IsDefined()
@IsIn(['ciao', 'bonjour-hap'])
@IsIn(['avahi', 'ciao', 'bonjour-hap'])
@ApiProperty()
advertiser: 'ciao' | 'bonjour-hap';
advertiser: 'avahi' | 'ciao' | 'bonjour-hap';
}
40 changes: 40 additions & 0 deletions test/e2e/server.e2e-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,23 @@ describe('ServerController (e2e)', () => {
expect(res.json()).toEqual({ advertiser: 'ciao' });
});

it('GET /server/mdns-advertiser (when set to avahi)', async () => {
const config: HomebridgeConfig = await fs.readJson(configService.configPath);
config.bridge.advertiser = 'avahi';
await fs.writeJson(configService.configPath, config);

const res = await app.inject({
method: 'GET',
path: '/server/mdns-advertiser',
headers: {
authorization,
},
});

expect(res.statusCode).toEqual(200);
expect(res.json()).toEqual({ advertiser: 'avahi' });
});

it('PUT /server/mdns-advertiser (bonjour-hap)', async () => {
const initialConfig: HomebridgeConfig = await fs.readJson(configService.configPath);
delete initialConfig.bridge.advertiser;
Expand Down Expand Up @@ -448,6 +465,29 @@ describe('ServerController (e2e)', () => {
expect(config.bridge.advertiser).toEqual('ciao');
});

it('PUT /server/mdns-advertiser (avahi)', async () => {
const initialConfig: HomebridgeConfig = await fs.readJson(configService.configPath);
delete initialConfig.mdns;
await fs.writeJson(configService.configPath, initialConfig);

const res = await app.inject({
method: 'PUT',
path: '/server/mdns-advertiser',
headers: {
authorization,
},
payload: {
advertiser: 'avahi',
},
});

expect(res.statusCode).toEqual(200);

// check the value was saved
const config = await fs.readJson(configService.configPath);
expect(config.bridge.advertiser).toEqual('avahi');
});

it('PUT /server/mdns-advertiser (invalid value)', async () => {
const initialConfig: HomebridgeConfig = await fs.readJson(configService.configPath);
delete initialConfig.mdns;
Expand Down
1 change: 1 addition & 0 deletions ui/src/app/modules/settings/settings.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ <h5 class="primary-text mt-3" translate="settings.network.title_network"></h5>
<select class="custom-select" [formControl]="legacyMdnsFormControl"
[attr.aria-label]=" 'settings.mdns_advertiser' | translate">
<option value="bonjour-hap">Bonjour HAP</option>
<option value="avahi">Avahi</option>
<option value="ciao">Ciao</option>
</select>
</div>
Expand Down

0 comments on commit cbfc3a7

Please sign in to comment.