Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ twython==3.9.1
setuptools==80.3.1
contentstack-utils==1.3.0
python-dateutil==2.8.2
requests==2.32.3
requests==2.32.4
coverage==7.6.0
tox==4.5.1
virtualenv==20.26.6
Expand Down Expand Up @@ -58,6 +58,6 @@ zipp==3.20.1
distlib~=0.3.8
cachetools~=5.4.0
tomlkit~=0.13.2
urllib3==2.2.3
urllib3==2.5.0
exceptiongroup~=1.2.2
iniconfig~=2.0.0
58 changes: 19 additions & 39 deletions tests/test_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
import config
import contentstack

_UID = 'blt53ca1231625bdde4'
API_KEY = config.APIKEY
DELIVERY_TOKEN = config.DELIVERYTOKEN
ENVIRONMENT = config.ENVIRONMENT
HOST = config.HOST
FAQ_UID = config.FAQ_UID # Add this in your config.py


class TestEntry(unittest.TestCase):
Expand All @@ -19,69 +19,54 @@ def test_run_initial_query(self):
query = self.stack.content_type('faq').query()
result = query.find()
if result is not None:
self._UID = result['entries'][0]['uid']
print(f'the uid is: {_UID}')
self.faq_uid = result['entries'][0]['uid']
print(f'the uid is: {self.faq_uid}')

def test_entry_by_UID(self):
global _UID
entry = self.stack.content_type('faq').entry(_UID)
entry = self.stack.content_type('faq').entry(FAQ_UID)
result = entry.fetch()
if result is not None:
_UID = result['entry']['uid']
self.assertEqual(_UID, result['entry']['uid'])
self.assertEqual(FAQ_UID, result['entry']['uid'])

def test_03_entry_environment(self):
global _UID
entry = self.stack.content_type('faq').entry(
_UID).environment('test')
entry = self.stack.content_type('faq').entry(FAQ_UID).environment('test')
self.assertEqual("test", entry.http_instance.headers['environment'])

def test_04_entry_locale(self):
global _UID
entry = self.stack.content_type('faq').entry(_UID).locale('en-ei')
entry = self.stack.content_type('faq').entry(FAQ_UID).locale('en-ei')
entry.fetch()
self.assertEqual('en-ei', entry.entry_param['locale'])

def test_05_entry_version(self):
global _UID
entry = self.stack.content_type('faq').entry(_UID).version(3)
entry = self.stack.content_type('faq').entry(FAQ_UID).version(3)
entry.fetch()
self.assertEqual(3, entry.entry_param['version'])

def test_06_entry_params(self):
global _UID
entry = self.stack.content_type('faq').entry(
_UID).param('param_key', 'param_value')
entry = self.stack.content_type('faq').entry(FAQ_UID).param('param_key', 'param_value')
entry.fetch()
self.assertEqual('param_value', entry.entry_param['param_key'])

def test_07_entry_base_only(self):
global _UID
entry = self.stack.content_type(
'faq').entry(_UID).only('field_UID')
entry = self.stack.content_type('faq').entry(FAQ_UID).only('field_UID')
entry.fetch()
self.assertEqual({'environment': 'development',
'only[BASE][]': 'field_UID'}, entry.entry_param)

def test_08_entry_base_excepts(self):
global _UID
entry = self.stack.content_type('faq').entry(
_UID).excepts('field_UID')
entry = self.stack.content_type('faq').entry(FAQ_UID).excepts('field_UID')
entry.fetch()
self.assertEqual({'environment': 'development',
'except[BASE][]': 'field_UID'}, entry.entry_param)

def test_10_entry_base_include_reference_only(self):
global _UID
entry = self.stack.content_type('faq').entry(_UID).only('field1')
entry = self.stack.content_type('faq').entry(FAQ_UID).only('field1')
entry.fetch()
self.assertEqual({'environment': 'development', 'only[BASE][]': 'field1'},
entry.entry_param)

def test_11_entry_base_include_reference_excepts(self):
global _UID
entry = self.stack.content_type(
'faq').entry(_UID).excepts('field1')
entry = self.stack.content_type('faq').entry(FAQ_UID).excepts('field1')
entry.fetch()
self.assertEqual({'environment': 'development', 'except[BASE][]': 'field1'},
entry.entry_param)
Expand All @@ -95,15 +80,13 @@ def test_12_entry_include_reference_github_issue(self):
response = _entry.fetch()

def test_13_entry_support_include_fallback_unit_test(self):
global _UID
entry = self.stack.content_type('faq').entry(
_UID).include_fallback()
entry = self.stack.content_type('faq').entry(FAQ_UID).include_fallback()
self.assertEqual(
True, entry.entry_param.__contains__('include_fallback'))

def test_14_entry_queryable_only(self):
try:
entry = self.stack.content_type('faq').entry(_UID).only(4)
entry = self.stack.content_type('faq').entry(FAQ_UID).only(4)
result = entry.fetch()
self.assertEqual(None, result['uid'])
except KeyError as e:
Expand All @@ -112,28 +95,25 @@ def test_14_entry_queryable_only(self):

def test_entry_queryable_excepts(self):
try:
entry = self.stack.content_type('faq').entry(_UID).excepts(4)
entry = self.stack.content_type('faq').entry(FAQ_UID).excepts(4)
result = entry.fetch()
self.assertEqual(None, result['uid'])
except KeyError as e:
if hasattr(e, 'message'):
self.assertEqual("Invalid field_UID provided", e.args[0])

def test_16_entry_queryable_include_content_type(self):
entry = self.stack.content_type('faq').entry(
_UID).include_content_type()
entry = self.stack.content_type('faq').entry(FAQ_UID).include_content_type()
self.assertEqual({'include_content_type': 'true', 'include_global_field_schema': 'true'},
entry.entry_queryable_param)

def test_reference_content_type_uid(self):
entry = self.stack.content_type('faq').entry(
_UID).include_reference_content_type_uid()
entry = self.stack.content_type('faq').entry(FAQ_UID).include_reference_content_type_uid()
self.assertEqual({'include_reference_content_type_uid': 'true'},
entry.entry_queryable_param)

def test_19_entry_queryable_add_param(self):
entry = self.stack.content_type('faq').entry(
_UID).add_param('cms', 'contentstack')
entry = self.stack.content_type('faq').entry(FAQ_UID).add_param('cms', 'contentstack')
self.assertEqual({'cms': 'contentstack'}, entry.entry_queryable_param)

def test_20_entry_include_fallback(self):
Expand Down
6 changes: 3 additions & 3 deletions tests/test_live_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import contentstack
from contentstack.deep_merge_lp import DeepMergeMixin

management_token = 'cs8743874323343u9'
entry_uid = 'blt8743874323343u9'
preview_token = 'abcdefgh1234567890'
management_token = config.MANAGEMENT_TOKEN
entry_uid = config.LIVE_PREVIEW_ENTRY_UID
preview_token = config.PREVIEW_TOKEN

_lp_query = {
'live_preview': '#0#0#0#0#0#0#0#0#0#',
Expand Down
13 changes: 8 additions & 5 deletions tests/test_stack.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,14 @@ def test__15_sync_pagination_with_invalid_pagination_token(self):
self.assertEqual(
'is not valid.', result['errors']['pagination_token'][0])

@unittest.skip('Work in progress')
def test_16_initialise_sync(self):
result = self.stack.sync_init()
if result is not None:
self.assertEqual(16, result['total_count'])
# Deprecated: This test was skipped due to deprecation of the sync_init feature or its API.
# If sync_init is permanently removed or unsupported, this test should remain commented or be deleted.
# If migration or replacement is planned, update this test accordingly.
# @unittest.skip('Work in progress')
# def test_16_initialise_sync(self):
# result = self.stack.sync_init()
# if result is not None:
# self.assertEqual(16, result['total_count'])

def test_17_entry_with_sync_token(self):
result = self.stack.sync_token('sync_token')
Expand Down
Loading