| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package device
- import (
- "context"
- "testing"
- )
- func TestSetFlightPreservesRawCFUNZero(t *testing.T) {
- client := &transcriptClient{steps: []clientStep{
- {command: "AT+CFUN?", response: okResponse("+CFUN: 0")},
- {command: "AT+CFUN?", response: okResponse("+CFUN: 0")},
- }}
- manager, id := newStartedTestManager(t, client)
- result, err := manager.SetFlight(context.Background(), id, true)
- if err != nil {
- t.Fatalf("SetFlight: %v", err)
- }
- if result.Changed || result.PreviousMode != 0 || result.CurrentMode != 0 ||
- !result.FlightMode || !result.RadioOff {
- t.Fatalf("result = %#v", result)
- }
- client.assertDone(t)
- }
- func TestSetFlightRestoresPreviousFunctionalMode(t *testing.T) {
- client := &transcriptClient{steps: []clientStep{
- {command: "AT+CFUN?", response: okResponse("+CFUN: 1")},
- {command: "AT+CFUN=4", response: okResponse()},
- {command: "AT+CFUN?", response: okResponse("+CFUN: 4")},
- {command: "AT+CFUN?", response: okResponse("+CFUN: 4")},
- {command: "AT+CFUN=1", response: okResponse()},
- {command: "AT+CFUN?", response: okResponse("+CFUN: 1")},
- }}
- manager, id := newStartedTestManager(t, client)
- enabled, err := manager.SetFlight(context.Background(), id, true)
- if err != nil {
- t.Fatalf("enable flight mode: %v", err)
- }
- if !enabled.Changed || enabled.PreviousMode != 1 ||
- enabled.CurrentMode != 4 || !enabled.FlightMode {
- t.Fatalf("enable result = %#v", enabled)
- }
- disabled, err := manager.SetFlight(context.Background(), id, false)
- if err != nil {
- t.Fatalf("disable flight mode: %v", err)
- }
- if !disabled.Changed || disabled.PreviousMode != 4 ||
- disabled.CurrentMode != 1 || disabled.FlightMode {
- t.Fatalf("disable result = %#v", disabled)
- }
- client.assertDone(t)
- }
- func TestUSSDWaitsForAndDecodesCUSD(t *testing.T) {
- client := &transcriptClient{
- steps: []clientStep{{
- command: `AT+CUSD=1,"*100#",15`,
- response: okResponse(),
- }},
- urcs: []string{`+CUSD: 0,"004F004B",72`},
- }
- manager, id := newStartedTestManager(t, client)
- result, err := manager.USSD(context.Background(), id, "*100#")
- if err != nil {
- t.Fatalf("USSD: %v", err)
- }
- if result.Text != "OK" || result.Code != "*100#" ||
- result.DCS == nil || *result.DCS != 72 {
- t.Fatalf("result = %#v", result)
- }
- if _, err := manager.USSD(context.Background(), id, "*100#\rAT"); err == nil {
- t.Fatal("expected invalid service code rejection")
- }
- client.assertDone(t)
- }
|