Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion atlasapi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# __init__.py

# Version of the realpython-reader package
__version__ = "3.0.1b4"
__version__ = "3.0.1b5"
5 changes: 3 additions & 2 deletions atlasapi/clusters.py
Original file line number Diff line number Diff line change
Expand Up @@ -525,11 +525,12 @@ def __init__(self, backup_enabled: bool = False,
srv_address: Optional[str] = None,
providerSettings: Optional[ProviderSettings] = None,
links: list = None,
id: Optional[str] = None):
id: Optional[str] = None,
create_date: Optional[datetime] = None):
super().__init__(backup_enabled, cluster_type, disk_size_gb, name, mongodb_major_version, mongodb_version,
num_shards, mongo_uri, mongo_uri_updated, mongo_uri_with_options, paused, pit_enabled,
replication_factor, state_name, autoscaling, [replication_specs], srv_address,
providerSettings, links, id)
providerSettings, links, id, create_date)

def as_dict(self) -> dict:
return_dict = self.__dict__
Expand Down
13 changes: 6 additions & 7 deletions atlasapi/specs.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ def get_measurement_for_host(self, atlas_obj, granularity: Optional[AtlasGranula


"""

measurement_list = list()
# Set default
if measurement is None:
measurement = AtlasMeasurementTypes.Cache.dirty
Expand All @@ -199,23 +199,22 @@ def get_measurement_for_host(self, atlas_obj, granularity: Optional[AtlasGranula
logger.info('We received a branch, whos parent is {}'.format(parent.__str__()))
leaves = measurement.get_all()
measurement_list = list(leaves)
measurement = '&m='.join(measurement_list)
except TypeError:
logger.info('We received a leaf')
if len(measurement_list) < 1:
measurement_list.append(measurement)

# Build the URL
uri = Settings.api_resources["Monitoring and Logs"]["Get measurement for host"].format(
group_id=self.group_id,
host=self.hostname,
port=self.port,
granularity=granularity,
period=period,
measurement=measurement
port=self.port
)
logger.info(f'The URI is.... {uri}')
parameters = {'granularity': granularity, 'period': period, 'm': measurement_list}

# Build the request
return_val = atlas_obj.network.get(Settings.BASE_URL + uri)
return_val = atlas_obj.network.get(Settings.BASE_URL + uri, params=parameters)
for each_response in return_val:
for each_measurement in each_response.get("measurements"):
measurement_obj = AtlasMeasurement(name=each_measurement.get('name'),
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

setup(
name='atlasapi',
version='3.0.1b4',
version='3.0.1b5',
python_requires='>=3.7',
packages=find_packages(exclude=("tests",)),
install_requires=['requests', 'python-dateutil', 'isodate', 'future', 'pytz','coolname',
Expand Down
9 changes: 8 additions & 1 deletion tests/test_clusters.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from atlasapi.lib import AtlasPeriods, AtlasUnits, AtlasGranularities
from json import dumps
from datetime import datetime
from atlasapi.clusters import AtlasBasicReplicaSet, ClusterConfig
from atlasapi.clusters import AtlasBasicReplicaSet, ClusterConfig, ShardedClusterConfig
from atlasapi.lib import MongoDBMajorVersion as mdb_version
from atlasapi.lib import DefaultReadConcerns
from atlasapi.clusters import ClusterConfig, ProviderSettings, ReplicationSpecs, InstanceSizeName, OrgGroupView, ClusterView
Expand Down Expand Up @@ -248,3 +248,10 @@ def test_14_issue_154_additional_data(self):
self.assertIsInstance(cluster.create_date, datetime)
pprint(cluster.as_dict())

def test_15_issue_177_sharded(self):
SHARDED_NAME = 'PyAtlasShardedTest'
cluster = self.a.Clusters.get_single_cluster_as_obj(SHARDED_NAME)
self.assertTrue(type(cluster) is ShardedClusterConfig)
self.assertIsInstance(cluster.create_date, datetime)
# A bit expensive to run a sharded test cluster, so this test will be run manually as needed.
test_15_issue_177_sharded.advanced = True
3 changes: 2 additions & 1 deletion tests/test_monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@ def test_12_issue_90_get_measurement_for_host(self):
each_host.get_measurement_for_host(atlas_obj=self.a, measurement=AtlasMeasurementTypes.connections))
each_host.add_measurements(measurements)
self.assertIsInstance(each_host.measurements[0], AtlasMeasurement)
pprint(each_host.measurements[0].measurement_stats.mean)

test_12_issue_90_get_measurement_for_host.basic = True

Expand All @@ -217,8 +216,10 @@ def test_13_get_multiple_metrics_at_once_for_host(self):
test_host: Host = self.a.Hosts.host_list[0]
measurements = test_host.get_measurement_for_host(atlas_obj=self.a, measurement=AtlasMeasurementTypes.Cache)
for each in measurements:
print(f"📏📏📏{each.__dict__}")
self.assertIsInstance(each, AtlasMeasurement)
for each_one in each.measurements:
# print(each_one.__dict__)
self.assertIsInstance(each_one, AtlasMeasurementValue)

test_13_get_multiple_metrics_at_once_for_host.basic = True
Expand Down