microsoft / microsoft/azure-devops-python-api

azure.devops.v6_0.graph.models.PagedGraphUsers.as_dict() fails if continuation_token is not None

Offen
#312 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
684
Forks
218
Ø Merge
8 T. 10 Std.
Gemergte PRs (30 T.)
1

Beschreibung

azure-devops==6.0.0b2

If continuation_token response on clients_v6_0.get_graph_client list_users() response is not None (i.e. multiple pages) then the as_dict() method on the PagedGraphUsers object fails:

  File "/opt/hostedtoolcache/Python/3.7.5/x64/lib/python3.7/site-packages/msrest/serialization.py", line 269, in as_dict
    return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly)
  File "/opt/hostedtoolcache/Python/3.7.5/x64/lib/python3.7/site-packages/msrest/serialization.py", line 481, in _serialize
    new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.5/x64/lib/python3.7/site-packages/msrest/serialization.py", line 707, in serialize_data
    data, data_type[1:-1], **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.5/x64/lib/python3.7/site-packages/msrest/serialization.py", line 778, in serialize_iter
    raise SerializationError("Refuse str type as a valid iter type.")
msrest.exceptions.SerializationError: Refuse str type as a valid iter type

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie damit, den Fehler über clients_v6_0.get_graph_client().list_users() zu reproduzieren, wenn die Antwort ein continuation_token enthält, und untersuchen Sie anschließend PagedGraphUsers.as_dict() sowie den msrest-Serialisierungs-Traceback. Als erledigt gilt die Aufgabe, wenn as_dict() ein nicht-None continuation token verarbeitet, ohne SerializationError auszulösen, und eine Regressionstestabdeckung für den Fall einer mehrseitigen Antwort vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, python
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.