Skip to content

Commit b23f1ca

Browse files
nnegreybusunkim96
authored andcommitted
dialogflow: make flaky test more generic [(#2936)](#2936)
* dialogflow: make flaky test more generic * use uuid instead of datetime to avoid conflicts when parallel tests are run Co-authored-by: Bu Sun Kim <[email protected]>
1 parent 2911055 commit b23f1ca

22 files changed

+50
-66
lines changed

dialogflow/context_management_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import context_management
2121
import detect_intent_texts
2222

2323
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
24-
SESSION_ID = 'test_session_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
25-
CONTEXT_ID = 'test_context_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
24+
SESSION_ID = 'test_session_{}'.format(uuid.uuid4())
25+
CONTEXT_ID = 'test_context_{}'.format(uuid.uuid4())
2626

2727

2828
def test_create_context(capsys):

dialogflow/create_document_test.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,17 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import dialogflow_v2beta1 as dialogflow
2121
import pytest
2222

2323
import document_management
2424

2525
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
26-
KNOWLEDGE_BASE_NAME = 'knowledge_' \
27-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
28-
DOCUMENT_DISPLAY_NAME = 'test_document_' \
29-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
KNOWLEDGE_BASE_NAME = 'knowledge_{}'.format(uuid.uuid4())
27+
DOCUMENT_DISPLAY_NAME = 'test_document_{}'.format(uuid.uuid4())
3028
pytest.KNOWLEDGE_BASE_ID = None
3129

3230

dialogflow/create_entity_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
DISPLAY_NAME = "entity_{}".format(uuid.uuid4()).replace('-', '')[:30]
2727
ENTITY_VALUE_1 = "test_entity_value_1"
2828
ENTITY_VALUE_2 = "test_entity_value_2"
2929
SYNONYMS = ["fake_synonym_for_testing_1", "fake_synonym_for_testing_2"]

dialogflow/create_entity_type_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_type_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_type_" + datetime.datetime.now().strftime(
27-
"%Y%m%d%H%M%S"
28-
)
26+
DISPLAY_NAME = "entity_type_{}".format(uuid.uuid4()).replace('-', '')[:30]
2927
pytest.ENTITY_TYPE_ID = None
3028

3129

dialogflow/create_knowledge_base_test.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2beta1 as dialogflow
2222

2323
import knowledge_base_management
2424

2525
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
26-
KNOWLEDGE_BASE_NAME = 'knowledge_' \
27-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
KNOWLEDGE_BASE_NAME = 'knowledge_{}'.format(uuid.uuid4())
2827
pytest.KNOWLEDGE_BASE_ID = None
2928

3029

dialogflow/delete_document_test.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,17 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import dialogflow_v2beta1 as dialogflow
2121
import pytest
2222

2323
import document_management
2424

2525
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
26-
KNOWLEDGE_BASE_NAME = 'knowledge_' \
27-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
28-
DOCUMENT_DISPLAY_NAME = 'test_document_' \
29-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
KNOWLEDGE_BASE_NAME = 'knowledge_{}'.format(uuid.uuid4())
27+
DOCUMENT_DISPLAY_NAME = 'test_document_{}'.format(uuid.uuid4())
3028
pytest.KNOWLEDGE_BASE_ID = None
3129
pytest.DOCUMENT_ID = None
3230

dialogflow/delete_entity_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
DISPLAY_NAME = "entity_{}".format(uuid.uuid4()).replace('-', '')[:30]
2727
ENTITY_VALUE_1 = "test_delete_entity_value"
2828

2929
pytest.ENTITY_TYPE_ID = None

dialogflow/delete_entity_type_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_type_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_type_" + datetime.datetime.now().strftime(
27-
"%Y%m%d%H%M%S"
28-
)
26+
DISPLAY_NAME = "entity_type_{}".format(uuid.uuid4()).replace('-', '')[:30]
2927
pytest.ENTITY_TYPE_ID = None
3028

3129

dialogflow/delete_knowledge_base_test.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import dialogflow_v2beta1 as dialogflow
2121
import pytest
2222

2323
import knowledge_base_management
2424

2525
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
26-
KNOWLEDGE_BASE_NAME = 'knowledge_' \
27-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
KNOWLEDGE_BASE_NAME = 'knowledge_{}'.format(uuid.uuid4())
2827
pytest.KNOWLEDGE_BASE_ID = None
2928

3029

dialogflow/detect_intent_audio_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_audio import detect_intent_audio
2020

2121
DIRNAME = os.path.realpath(os.path.dirname(__file__))
2222
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
23-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
23+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2424
AUDIOS = [
2525
'{0}/resources/book_a_room.wav'.format(DIRNAME),
2626
'{0}/resources/mountain_view.wav'.format(DIRNAME),

dialogflow/detect_intent_knowledge_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import detect_intent_knowledge
2121

2222
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
23-
SESSION_ID = 'session_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
23+
SESSION_ID = 'session_{}'.format(uuid.uuid4())
2424
KNOWLEDGE_BASE_ID = 'MjEwMjE4MDQ3MDQwMDc0NTQ3Mg'
2525
TEXTS = ['Where is my data stored?']
2626

dialogflow/detect_intent_stream_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_stream import detect_intent_stream
2020

2121
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
22-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
22+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2323
AUDIO_FILE_PATH = '{0}/resources/book_a_room.wav'.format(
2424
os.path.realpath(os.path.dirname(__file__)),
2525
)
@@ -29,5 +29,5 @@ def test_detect_intent_stream(capsys):
2929
detect_intent_stream(PROJECT_ID, SESSION_ID, AUDIO_FILE_PATH, 'en-US')
3030
out, _ = capsys.readouterr()
3131

32-
assert 'Intermediate transcript: "book"' in out
33-
assert 'Fulfillment text: What time will the meeting start?' in out
32+
assert 'Intermediate transcript:' in out
33+
assert 'Fulfillment text:' in out

dialogflow/detect_intent_texts_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_texts import detect_intent_texts
2020

2121
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
22-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
22+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2323
TEXTS = ["hello", "book a meeting room", "Mountain View",
2424
"tomorrow", "10 AM", "2 hours", "10 people", "A", "yes"]
2525

dialogflow/detect_intent_with_model_selection_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_with_model_selection import \
2020
detect_intent_with_model_selection
2121

2222
DIRNAME = os.path.realpath(os.path.dirname(__file__))
2323
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
24-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
24+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2525
AUDIOS = [
2626
'{0}/resources/book_a_room.wav'.format(DIRNAME),
2727
'{0}/resources/mountain_view.wav'.format(DIRNAME),

dialogflow/detect_intent_with_sentiment_analysis_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_with_sentiment_analysis import \
2020
detect_intent_with_sentiment_analysis
2121

2222
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
23-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
23+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2424
TEXTS = ["hello", "book a meeting room", "Mountain View",
2525
"tomorrow", "10 AM", "2 hours", "10 people", "A", "yes"]
2626

dialogflow/detect_intent_with_texttospeech_response_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313

1414
from __future__ import absolute_import
1515

16-
import datetime
1716
import os
17+
import uuid
1818

1919
from detect_intent_with_texttospeech_response import \
2020
detect_intent_with_texttospeech_response
2121

2222
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
23-
SESSION_ID = 'test_' + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
23+
SESSION_ID = 'test_{}'.format(uuid.uuid4())
2424
TEXTS = ["hello"]
2525

2626

dialogflow/get_knowledge_base_test.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import dialogflow_v2beta1 as dialogflow
2121
import pytest
2222

2323
import knowledge_base_management
2424

2525
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
26-
KNOWLEDGE_BASE_NAME = 'knowledge_' \
27-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
KNOWLEDGE_BASE_NAME = 'knowledge_{}'.format(uuid.uuid4())
2827
pytest.KNOWLEDGE_BASE_ID = None
2928

3029

dialogflow/intent_management_test.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919

2020
import intent_management
2121

2222
PROJECT_ID = os.getenv('GCLOUD_PROJECT')
23-
INTENT_DISPLAY_NAME = 'test_' \
24-
+ datetime.datetime.now().strftime("%Y%m%d%H%M%S")
23+
INTENT_DISPLAY_NAME = 'test_{}'.format(uuid.uuid4())
2524
MESSAGE_TEXTS = [
2625
'fake_message_text_for_testing_1',
2726
'fake_message_text_for_testing_2'

dialogflow/list_entities_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S")
26+
DISPLAY_NAME = "entity_{}".format(uuid.uuid4()).replace('-', '')[:30]
2727
ENTITY_VALUE_1 = "test_list_entity_value"
2828

2929
pytest.ENTITY_TYPE_ID = None

dialogflow/list_entity_types_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,16 @@
1414

1515
from __future__ import absolute_import
1616

17-
import datetime
1817
import os
18+
import uuid
1919
import pytest
2020

2121
import dialogflow_v2 as dialogflow
2222

2323
import entity_type_management
2424

2525
PROJECT_ID = os.getenv("GCLOUD_PROJECT")
26-
DISPLAY_NAME = "entity_type_" + datetime.datetime.now().strftime(
27-
"%Y%m%d%H%M%S"
28-
)
26+
DISPLAY_NAME = "entity_type_{}".format(uuid.uuid4()).replace('-', '')[:30]
2927

3028

3129
@pytest.fixture(scope="function", autouse=True)

0 commit comments

Comments
 (0)