audio_AudioNodeSwitch: fix test flakiness

1. Fix Wrong input node(s) selected: ['FRONT_MIC'] expected:
   ['INTERNAL_MIC'].

2. Set volume before check the volume.

BUG=b:271535040
TEST=test_that --board=brya --fast --debug \
     --args="chameleon_host=${DUT}-chameleon" \
     ${DUT} audio_AudioNodeSwitch.JACK on vayne and boten

Change-Id: If779375311ced281fb83dbec8526ae9764bba6e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/4304200
Tested-by: Judy Hsiao <judyhsiao@google.com>
Auto-Submit: Judy Hsiao <judyhsiao@google.com>
Commit-Queue: Judy Hsiao <judyhsiao@google.com>
Reviewed-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
(cherry picked from commit e37688814b9f7b9a700683c31cc99af130f212ab)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/4322919
Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org>
diff --git a/client/cros/audio/audio_spec.py b/client/cros/audio/audio_spec.py
index 680149e..e5195c4 100644
--- a/client/cros/audio/audio_spec.py
+++ b/client/cros/audio/audio_spec.py
@@ -189,6 +189,8 @@
         ('nami', 'sona'): 'FRONT_MIC',
         ('nami', 'syndra'): 'FRONT_MIC',
         ('nami', 'vayne'): 'FRONT_MIC',
+        ('dedede', 'boten'): 'FRONT_MIC',
+        ('nissa', 'craask'): 'FRONT_MIC',
 }
 
 
diff --git a/client/cros/chameleon/audio_test_utils.py b/client/cros/chameleon/audio_test_utils.py
index a663812..2c8aaa5 100644
--- a/client/cros/chameleon/audio_test_utils.py
+++ b/client/cros/chameleon/audio_test_utils.py
@@ -89,6 +89,10 @@
     out_audio_nodes, in_audio_nodes = audio_nodes
     if (in_audio_nodes != None
                 and sorted(curr_in_nodes) != sorted(in_audio_nodes)):
+        # FRONT_MIC is the same INTERNAL_MIC
+        if (in_audio_nodes == ['INTERNAL_MIC']
+                    and curr_in_nodes == ['FRONT_MIC']):
+            return
         raise error.TestFail(
                 'Wrong input node(s) selected: %s '
                 'expected: %s' % (str(curr_in_nodes), str(in_audio_nodes)))
diff --git a/server/site_tests/audio_AudioNodeSwitch/audio_AudioNodeSwitch.py b/server/site_tests/audio_AudioNodeSwitch/audio_AudioNodeSwitch.py
index bbed71b..2ae8c90 100644
--- a/server/site_tests/audio_AudioNodeSwitch/audio_AudioNodeSwitch.py
+++ b/server/site_tests/audio_AudioNodeSwitch/audio_AudioNodeSwitch.py
@@ -40,8 +40,10 @@
     def check_default_nodes(self):
         """Checks default audio nodes for devices with onboard audio support."""
         if audio_test_utils.has_internal_microphone(self.host):
-            audio_test_utils.check_audio_nodes(self.facade,
-                                               (None, ['INTERNAL_MIC']))
+            audio_test_utils.check_audio_nodes(
+                    self.facade,
+                    (None, [audio_test_utils.get_internal_mic_node(self.host)
+                            ]))
         if audio_test_utils.has_internal_speaker(self.host):
             audio_test_utils.check_audio_nodes(self.facade,
                                                (['INTERNAL_SPEAKER'], None))
@@ -85,6 +87,7 @@
         for node in nodes:
             # Switch nodes and check their volume.
             self.facade.set_chrome_active_node_type(node, None)
+            self.set_active_volume_to_node_volume(node)
             self.check_active_node_volume(node)